amilo Posted January 14, 2010 Report Share Posted January 14, 2010 Hallo, meine PHP Künste sind leider, nennen wir es mal nonexistent. Mit sehr viel Mühe konnte ich mir folgendes Script zusammenbasteln: <?php $db = new mysqli('localhost', '*****', '*****', '******'); if (mysqli_connect_errno()) { die ('Keine Verbindung zur Datenbank möglich: '.mysqli_connect_error().'('.mysqli_connect_errno().')'); } $sql = 'SELECT products_name FROM xt_products_description'; $result = $db->query($sql); if (!$result) { die ('Abfrage nicht erfolgreich: '.$db->error); } while ($row = $result->fetch_assoc()) { echo $row ['products_name']."<br/>"; } $result->close(); unset($result); ?>[/PHP] Das ganze funktioniert so weit auch, allerdings wird für nicht existierende product_id`s eine Leerzeile eingefügt. Falls mir irgendjemand sagen kann wie ich das verhindern kann, und auch ob man das Script irgendwie verbessern kann, wäre ich sehr dankbar. MfG. Hansen Link to comment Share on other sites More sharing options...
giller Posted January 14, 2010 Report Share Posted January 14, 2010 Also meine kentnise sind fast null aber du solltest eine class schreiben und die dann mit dem script aufruffen allein weils sichere ist. Mein beitrag zur verbesserung;) Link to comment Share on other sites More sharing options...
amilo Posted January 14, 2010 Author Report Share Posted January 14, 2010 Hallo, immerhin kennen wir uns denn ja beide kaum aus. Mit "class schreiben" meinst du eine weitere .php in der die Zugangsdaten stehen und diese dann per include einbinden? MfG. Hansen Link to comment Share on other sites More sharing options...
ahlfy Posted January 14, 2010 Report Share Posted January 14, 2010 Ich kapier das nicht ganz ... wie kann ein produkt keine products_id haben!? naja ich hab das mal fertig gemacht. Den Inhalt der Variable $sql hab ich geändert. <?php $db = new mysqli('localhost', '*****', '*****', '******'); if (mysqli_connect_errno()) { die ('Keine Verbindung zur Datenbank möglich: '.mysqli_connect_error().'('.mysqli_connect_errno().')'); } $sql = "SELECT * FROM xt_products_description WHERE products_id!=''"; $result = $db->query($sql); if (!$result) { die ('Abfrage nicht erfolgreich: '.$db->error); } while ($row = $result->fetch_assoc()) { echo $row ['products_name']."<br/>"; } $result->close(); unset($result); ?> [/PHP] Link to comment Share on other sites More sharing options...
amilo Posted January 14, 2010 Author Report Share Posted January 14, 2010 Hallo Ahlfy, danke für die Anpassung. Das Problem bleibt aber weiterhin bestehen. Was ich meinte ist nicht, das für einen Artikel der keine ID hat eine Leerzeile angelegt wird, sondern für jeden Artikel der mal existierte und gelöscht wurde. Dadurch ensteht ein Sprung in den ID´s und der wird mit einer Leerzeile gefüllt. Ich schicke die mal einen Link zur php dann siehst du was ich meine. MfG. Hansen Link to comment Share on other sites More sharing options...
ahlfy Posted January 14, 2010 Report Share Posted January 14, 2010 Iwie kapier ich grad nicht, warum er das so ausgegeben hat ... ich hab da wohl nen denkfehler ... Folgende Lösung funktioniert ... <?php $db = new mysqli('localhost', '*****', '*****', '********'); if (mysqli_connect_errno()) { die ('Keine Verbindung zur Datenbank möglich: '.mysqli_connect_error().'('.mysqli_connect_errno().')'); } $sql = "SELECT * FROM xt_products_description"; $result = $db->query($sql); if (!$result) { die ('Abfrage nicht erfolgreich: '.$db->error); } while ($row = $result->fetch_assoc()) { if(empty($row ['products_name'])) { echo ""; } else { echo $row ['products_name']."<br/>"; } } $result->close(); unset($result); ?> [/PHP] Link to comment Share on other sites More sharing options...
amilo Posted January 14, 2010 Author Report Share Posted January 14, 2010 Vielen Dank Ahlfy. So wird die Liste richtig ausgegeben. MfG. Hansen Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.