kostenloser Webspace werbefrei: lima-city


Mehrere Daten aus MySQL Tabelle abrufen und ausgeben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    c*************h

    Hallo,
    ich arbeite gerade an einer Suche für meine Website.
    Dort möchte ich alle User suchen können.
    Ich rufe nun so die Daten ab:
    <?php
    include ("db-verbindung.php");
    $abfrage = "SELECT vorname,nachname FROM user";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);
    echo $row->vorname." ".$row->nachname;
    ?>

    Die DB-Verbindung funktioniert und alles eigentlich.
    Nur gibt er mir immer nur den ersten User aus.
    Wie kriege ich es hin, dass er mir alle User nacheinander anzeigt?

    Beitrag zuletzt geändert: 11.2.2012 14:09:52 von carl-schoeneich
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. carl-schoeneich schrieb:
    Die DB-Verbindung funktioniert und alles eigentlich.
    Nur gibt er mir immer nur den ersten User aus.
    Wie kriege ich es hin, dass er mir alle User nacheinander anzeigt?


    Du musst eine Schleife machen, die solage läuft, wie Datensätze vorhanden sind
    am einfachsten mit while()
    $abfrage = "SELECT vorname,nachname FROM user";
    $ergebnis = mysql_query($abfrage);
    
    while($row = mysql_fetch_object($ergebnis))  { 
       echo "<br />".$row->vorname." ".$row->nachname."\n"; 
    }


    so kommst Du an alle Datensätze



    Beitrag zuletzt geändert: 11.2.2012 14:23:28 von campz
  4. Autor dieses Themas

    c*************h

    Danke!!!!
    Funktioniert Super!
    Nur kann ich auch die Daten alle in Variablen wie user[1], user [2] usw. speichern?

    Beitrag zuletzt geändert: 11.2.2012 14:32:28 von carl-schoeneich
  5. $abfrage = "SELECT vorname,nachname FROM user";
    $ergebnis = mysql_query($abfrage);
    
    $user = array();
    
    while($row = mysql_fetch_object($ergebnis))  { 
    //   echo "<br />".$row->vorname." ".$row->nachname."\n"; 
       $user[] = $row->vorname." ".$row->nachname;
    }


    Wenn du nur die Namen benötigst.
  6. carl-schoeneich schrieb:
    Danke!!!!
    Funktioniert Super!
    Nur kann ich auch die Daten alle in Variablen wie user[1], user [2] usw. speichern?



    nimm mysql_fetch_assoc() und baue Dir in der while() Schleife ein neues Array

    $abfrage = "SELECT vorname,nachname FROM user";
    $ergebnis = mysql_query($abfrage);
    
    $userdaten = array(); 
    
    while($row = mysql_fetch_assoc($ergebnis))  { 
       $userdaten[] = $row; 
    }
    
    foreach ($userdaten as $useritem) { 
     echo "<br />".$useritem['vorname']." ".$useritem['nachname']."\n"; 
    }



    wenn Du viele Daten hast,
    dann lohnt es sich immer nur 10 Daten auszugeben, also mit LIMIT

    BSP: (nicht getestet)

    <?php 
    // ----------------------------------------------------------- 
    
    $proseite = 10; 
    
    $runpage = $_SERVER['PHP_SELF']; 
    
    include ("db-verbindung.php");
    
    // ------- Aktuelle Seite -------- 
    if (!empty($_GET['page'])) { 
      $runpage = $_GET['page']; 
    }
    else { 
      $runpage = 1; 
    } 
    
    
    // ------- Anzahl der Zeilen -------- 
    $query1 = mysql_query("SELECT COUNT(*) FROM user");
    list($anzahl) = mysql_fetch_row($query1);
    
    // ------- Anzahl der Seiten -------- 
    $seiten = ceil($anzahl/$proseite); 
    
    
    // ------- Ausgabe Seiten Navigation -------- 
    echo "<p>Seiten --- "; 
    for ($p=1; $p<=$seiten; $p++) { 
      echo " <a href=\"$runpage."?page=".$p."\"><strong>".$p."</strong></a> --- "; 
    }
    echo "</p>"; 
    
    
    // ------- Start-Wert fuer LIMIT -------- 
    $start = (($runpage*$proseite) - $proseite); 
    
    
    // ------- MySQL Abfrage -------- 
    $abfrage = "SELECT vorname,nachname FROM user LIMIT $start,$proseite";
    $ergebnis = mysql_query($abfrage);
    
    
    // ------- MySQL Ergebnis in Array schreiben -------- 
    $userdaten = array(); 
    while($row = mysql_fetch_assoc($ergebnis))  { 
       $userdaten[] = $row; 
    }
    
    
    // ------- Ausgabe der Daten  -------- 
    echo "<br />\n"; 
    echo "<br />Aktuelle Seite: ".$runpage."\n"; 
    echo "<br />\n"; 
    echo "<br />\n"; 
    
    foreach ($userdaten as $useritem) { 
     echo "<br />".$useritem['vorname']." ".$useritem['nachname']."\n"; 
    }
    
    
    // ----------------------------------------------------------- 
    ?>


    ich hoffe das BSP funktioniert ... habs nicht getestet
    für bessere Übersicht bei sehr vielen Zeilen (Datensätzen)

    wenn Du bisher nur wenige Zeilen hast
    kannst Du es ja mal mit $proseite = 1; testen,
    dann solle es je User eine Seite geben



    Beitrag zuletzt geändert: 11.2.2012 15:01:35 von campz
  7. Autor dieses Themas

    c*************h

    Geht es auch, dass man die Daten in einem Arry jetzt direkt speichert?
    Ich meine damit, dass die Vor- und Nachnamen immer zusammen als einfach Name, alle in einem Arry gespeichert werden?
  8. carl-schoeneich schrieb:
    Geht es auch, dass man die Daten in einem Arry jetzt direkt speichert?
    Ich meine damit, dass die Vor- und Nachnamen immer zusammen als einfach Name, alle in einem Arry gespeichert werden?
    $abfrage = "SELECT CONCAT(vorname, ' ', nachname) AS name FROM user";
  9. Autor dieses Themas

    c*************h

    Ist auch praktisch!
    Aber jetzt kriege ich wieder nur den ersten Wert!
    <?php
    include ("db-verbindung.php");
    $abfrage = "SELECT CONCAT(vorname, ' ', nachname) AS name FROM user";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);
    $user=$row->name;
    ?>

    Wenn ich jetzt:
    echo $user;

    Dann erhalte ich immer nur den ersten User!
    Wie kriege ich alle User mit Vor- und Nachname in einer Array gespeichert?
    (Vor- und Nachname eines Users sollen zusammen einen Wert ergeben!)
  10. carl-schoeneich schrieb:
    Ist auch praktisch!
    Aber jetzt kriege ich wieder nur den ersten Wert!
    <?php
    include ("db-verbindung.php");
    $abfrage = "SELECT CONCAT(vorname, ' ', nachname) AS name FROM user";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);
    $user=$row->name;
    ?>

    Wenn ich jetzt:
    echo $user;

    Dann erhalte ich immer nur den ersten User!
    Wie kriege ich alle User mit Vor- und Nachname in einer Array gespeichert?
    (Vor- und Nachname eines Users sollen zusammen einen Wert ergeben!)
    ich habe nur die abfrage geändert, du hast die while schleife ausgelassen! warum?
  11. Autor dieses Themas

    c*************h

    Meinst du so?
    <?php
    include ("db-verbindung.php");
    $abfrage = "SELECT CONCAT(vorname, ' ', nachname) AS name FROM user";
    $ergebnis = mysql_query($abfrage);
    
    $userdaten = array(); 
    
    while($row = mysql_fetch_assoc($ergebnis))  { 
       $userdaten[] = $row; 
    }
    
    foreach ($userdaten as $useritem) { 
     echo "<br />".$useritem['vorname']." ".$useritem['nachname']."\n"; 
    }
    ?>

    Da kommt gar nichts!
  12. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    carl-schoeneich schrieb:
    Da kommt gar nichts!
    Kann ja auch gar nicht, weil du in der Abfrage das Feld
    name
    nennst.
    So funktioniert es:
    <?php
    include ("db-verbindung.php");
    $abfrage = "SELECT CONCAT(vorname, ' ', nachname) AS name FROM user";
    $ergebnis = mysql_query($abfrage);
    
    $userdaten = array(); 
    
    while($row = mysql_fetch_assoc($ergebnis))  { 
       $userdaten[] = $row; 
    }
    
    foreach ($userdaten as $useritem) { 
     echo "<br />".$userdaten['name']."\n"; 
    }
    ?>


    Beitrag zuletzt geändert: 11.2.2012 18:00:47 von hackyourlife
  13. Autor dieses Themas

    c*************h

    Ich weiß ich hab da keine Ahnung, aber ist das jetzt eine Array und wenn ja, was ist da die Array? :cookie:
  14. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    carl-schoeneich schrieb:
    Ich weiß ich hab da keine Ahnung, aber ist das jetzt eine Array und wenn ja, was ist da die Array?
    Das ist das Array:
    $userdaten
    .
  15. Autor dieses Themas

    c*************h

    Hab ich mir auch gedacht...
    Aber da ich von so was kaum Ahnung habe ist Nachfragen sicher besser! :angel:
  16. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    carl-schoeneich schrieb:
    Hab ich mir auch gedacht...
    Aber da ich von so was kaum Ahnung habe ist Nachfragen sicher besser! :angel:
    ;-)
    Funktioniert es jetzt wenigstens?
  17. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!