Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Tabelle, alle Zeilen auslesen und in Array schreiben

Einklappen

Neue Werbung 2019

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

  • MySQL Tabelle, alle Zeilen auslesen und in Array schreiben

    Hallo zusammen,

    bin neu hier, da ich gerade erst mit php angefangen habe und stehe schon vor einem Problem.

    Ich möchte aus einer Tabelle aus allen Zeilen die Werte "Type_ID" und "Name" auslesen und die ausgelesenen Werte in die beiden arrays $type() und $name() mit entsprechendem Zeilenindex schreiben.
    Ich bekomme jedoch nur die allererste (bzw. letzte) Zeile ausgelesen, alle anderen Werte der arrays sind nicht definiert.

    Vielleicht sieht ja jemand den Fehler:

    Hier der Code:
    PHP-Code:
    $db mysqli_connect("localhost","root","","cspdb") ;
    if(!
    $db)
    {
        exit(
    "Fehler beim Verbinden: ".mysqli_connect_error());
    }
    $qry "SELECT Type_ID, Name FROM type ORDER BY OrderNumber ASC";
    $result mysqli_query($db$qry);
    $num mysqli_num_rows($result);

    $type = array();
    $name = array();
    while(
    $dsatz mysqli_fetch_assoc($result))
    {
        
    $i 0;
        
    $type[$i] = $dsatz["Type_ID"];
        
    $name[$i] = $dsatz["Name"];
        
    $i ++;

    Vielen Dank schon mal für die Hilfe.

    Lg

    oashbagasch


    Edit:
    Ich habs auch schon mit einer for-Schleife drumherum probiert, die die Anzahl an Zeilen durchgeht, leider auch ohne Erfolg.

    Code:
    PHP-Code:
    $qry "SELECT Type_ID, Name FROM type ORDER BY OrderNumber ASC";
    $result mysqli_query($db$qry);
    $num mysqli_num_rows($result);
    $type = array();
    $name = array();
    for( 
    $a=0$a$num$a++)
    {
        while(
    $dsatz mysqli_fetch_assoc($result))
        {
            
            
    $type[$a] = $dsatz["Type_ID"];
            
    $name[$a] = $dsatz["Name"];
            
        }



  • #2
    Hallo und willkommen im Forum.

    Ich bekomme jedoch nur die allererste (bzw. letzte) Zeile ausgelesen
    Na, wie denn nun?

    Dein Fehler liegt hier:
    PHP-Code:
    while($dsatz mysqli_fetch_assoc($result))
    {
    $i 0
    Du weist $i mit jedem Durchlauf die 0 zu, daher wird immer der selbe Index beschrieben.


    Bitte nutz für Code in deinen Posts die [php]-Tags
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      Zitat von VPh Beitrag anzeigen


      Na, wie denn nun?
      Aufgrund meiner Sortierung in der Select Abfrage hat er die letzte Zeile genommen.

      Danke, das mit dem $i=0 wars. Da hätte ich auch selbst drauf kommen können....

      Mich wundert nur, dass dann die 2. variante nicht funktioniert hat

      Kommentar


      • #4
        Weil du dort programmierst: „Für jedes $a hole alle Datensätze ab.“

        So würde ein Schuh draus:

        PHP-Code:
        for( $a=0$a$num$a++)
        {
            
        $dsatz mysqli_fetch_assoc($result);
            
        $type[$a] = $dsatz["Type_ID"];
            
        $name[$a] = $dsatz["Name"];

        Kommentar

        Lädt...
        X