ich hatte mir für 1.1P einige eigene Seiten gebaut, um Ergebnisse unserer Pokerturniere in die DB einzutragen und auszugeben.
Ich versuche zur Zeit unsere Vereinsseite in 2.x zu migrieren, was leider enormst aufwendig ist.
Zur Zeit stoße ich auf das Problem, dass das PHP auf meinen eigenen Seiten im neuen Ilch nicht vernünftig ausgeführt wird. Stattdessen wird alles an PHP ab einem bestimmten Punkt einfach ausgegeben.
Auf der neuen Seite läuft PHP 7.1, aber auch mit 5.6 funktionierte es nicht. Auf Ilch 1.1 mit 5.6 funktionierts.
Hier mein Code:
<?php $db = new mysqli('localhost', 'user', 'password', 'database'); if (mysqli_connect_errno()) { die ('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')'); } if(isset($_POST['poty'])) { $year = $_POST["poty"]."-01-01"; $year2 = $_POST["poty"]."-12-31"; if ($_POST["poty"] == 2100) { $year = "2007-01-01"; $year2 = "2100-01-01"; } } else { $year = date("Y")."-01-01"; $year2 = date("Y")."-12-31"; } if (!($stmtturnier = $db->prepare("SELECT COUNT(datum) FROM TURNIER WHERE datum BETWEEN ? AND ?;"))) { echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error; } if (!$stmtturnier->bind_param('ss', $year, $year2)) { echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error; } if (!$stmtturnier->execute()) { echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error; } $stmtturnier->bind_result($turnieranzahl); while ($stmtturnier->fetch()) { } $stmt = $db->prepare("SELECT SUM(punkte), ref_spieler, AVG(platz), u.name, t.datum, COUNT(istsieg), COUNT(istmf), SUM(BILANZ), COUNT(REF_TURNIER), SUM(ABS(SIGN(BILANZ))) FROM Platzierung JOIN ic3_user u ON REF_SPIELER = u.ID JOIN TURNIER t ON REF_TURNIER = t.ID WHERE t.datum BETWEEN ? AND ? GROUP BY ref_spieler ORDER BY SUM(punkte) DESC, COUNT(istsieg) DESC, SUM(IF(platz = 2, 1, 0)) DESC, SUM(IF(platz = 3, 1, 0)) DESC, SUM(IF(platz = 4, 1, 0)) DESC, SUM(IF(platz = 5, 1, 0)) DESC, SUM(IF(platz = 6, 1, 0)) DESC;"); $stmt->bind_param('ss', $year, $year2); $stmt->execute(); $stmt->bind_result($punkte, $userid, $platzschnitt, $username, $datumvonjahr, $siege, $mfs, $bilanz, $mitgespielt, $fee); $i = 1; $potyyear = date("Y", strtotime($year)); if ($year == "2007-01-01") $potyyear = "Overall";?> <center><font size=8><b><?php echo $potyyear;?></b></font><center> <table class='myTableText' align=center> <th>Platz</th> <th>Spieler</th> <th>Turniere</th> <th>Platz Ø</th> <th>MFs</th> <th>Siege</th> <th>Punkte</th> <?php while ($stmt->fetch()) {;?> <tr><td> <?php echo $i;?></td><td> <?php echo $username ;?></td><td><?php echo $mitgespielt;?> ( <?php echo round(($mitgespielt / $turnieranzahl *100),1);?> %)</td><td><?php echo round($platzschnitt,2);?></td><td><?php echo $mfs;?></td><td><?php echo $siege;?></td><td><?php echo $punkte;?> </td> </tr> <?php $i++; }?> </table> <center><form action='<?php echo $_SERVER["SELF"];?>' method='post'> <p> <select name='poty' class='select select-fancy select-fancy-noimage'> <option value='2017'>2017</option> <option value='2016'>2016</option> <option value='2015'>2015</option> <option value='2014'>2014</option> <option value='2013'>2013</option> <option value='2012'>2012</option> <option value='2011'>2011</option> <option value='2010'>2010</option> <option value='2009'>2009</option> <option value='2008'>2008</option> <option value='2100'>Overall</option> </select> </p> <input type='submit' value='Auswählen' class='css_btn_class'> </form></br></center>
wie auf der verlinkten seite zu sehen, wir alles ab dem ersten prepared statement ausgegeben....
ich finde im netz leider keinen grund dafür.
verwendete ilch Version: 2.x
betroffene Homepage: bpev2.bergedorfer-poker.de/index.php/poty.php