Ankündigung

Einklappen
Keine Ankündigung bisher.

Erster Wert der DB Table fehlt

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • archetype
    hat ein Thema erstellt Erster Wert der DB Table fehlt.

    Erster Wert der DB Table fehlt

    Hallo ! folgender code zeigt mir alle Daten einer Table in der SQL DB an. Alle bis auf den ersten Keine Ahnung an was es liegt, schon mehrere Sachen probiert

    PHP-Code:
    <?php
        $conn 
    mysql_connect("localhost","root");
        if(
    $conn) {
            echo 
    "<b>Verbindung hergestellt</b>";
        } else {
            echo 
    "<b>Verbindung fehlgeschlagen</b>";
        }
        
        
    $select mysql_select_db("auto",$conn);
        
        
    $sql "SELECT Marke FROM Hersteller";
        
        
    $result mysql_query($sql,$conn);
        
        if(
    $result) {
            
    $number mysql_num_rows($result);
            echo 
    "<p> Es sind {$number} Datensätze gelesen worden.";
            echo 
    "<table border=1>";
            echo 
    "<tr>";
            
    $row mysql_fetch_array($resultMYSQL_ASSOC);
            while(
    $field key($row)) {
                echo 
    "<th>{$field}";
                
    next($row);
            }
            while(
    $row mysql_fetch_array($resultMYSQL_ASSOC)) {
                echo 
    "<tr><td>";
                echo 
    implode("<td>",$row);
                echo 
    "</tr>";
            }
            echo 
    "</table>";
            echo 
    "<p>Abfrage: <i>{$sql}</i>";
        } else {
            echo 
    "<p>".mysql_error($conn);
        }
        
    mysql_close($conn);
    ?>

  • Arne Drews
    antwortet
    PHP-Code:
    mysql_fetch_array($resultMYSQL_ASSOC); 
    Nimm doch gleich
    PHP-Code:
    mysql_fetch_assoc($result); 
    Zum Thema:
    Vor der ersten while-Schleife holst Du Dir per mysql_fetch_array() bereits den ersten DS.
    In der zweiten while-Schleife ist der Zeiger dann imho bereits beim nächsten DS, so daß der erste nicht angezeigt wird.
    Probier entweder alles in einer while() zu erledigen oder vor der zweiten while-Schleife ein
    PHP-Code:
    mysql_data_seek($result0); 
    Zum Thema Tabelle/HTML hat Paul.Schramenko bereits das nötigste gesagt...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von archetype Beitrag anzeigen

    Code:
    		echo "<table border=1>";
    		echo "<tr>";
    		$row = mysql_fetch_array($result, MYSQL_ASSOC);
    		while($field = key($row)) {
    			echo "<th>{$field}";
    			next($row);
    		}
    Hier liest Du ja schon die erste Datenzeile ein um den Tableheader-Zeile aufzubauen.

    Eigentlich muss Du nur die While-Schleife 2-mal laufen lassen.

    Code:
    		echo "<table border=1>";
    		echo "<tr>";
    		$row = mysql_fetch_array($result, MYSQL_ASSOC);
    		while($field = key($row)) {
    			echo "<th>{$field}";
    			next($row);
    		}
    		echo "</tr><tr>";
                               reset($row);
    		while($field = key($row)) {
    			echo "<td>{$field}";
    			next($row);
    		}
    		echo "</tr>";
    Die Gesamt-Ausgabe der Tabelle ist allerdings absolut kein valides HTML.

    Grüße
    Thomas

    Einen Kommentar schreiben:


  • Paul.Schramenko
    antwortet
    Das ist alles anrede als valide.
    Bspw.: <th> geht auf aber nirgends zu, beim ersten <tr> außerhalb der schleifen ebenfalls.
    du kannst das ganze auch in eine Schleife zusammenfassen:
    PHP-Code:
    <?php
    while ($row mysql_fetch_array($resultMYSQL_ASSOC) {
        
    //...
    }
    hast du mal das error_reporting angemacht? Was gibt das SQL für Datensätze zurück, hast du es mal in der Konsole oder phpMyAdmin ausgeführt?

    Einen Kommentar schreiben:

Lädt...
X