ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
1054
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    didek ist offline Grünschnabel
    Registriert seit
    May 2012
    Beiträge
    4
    Hallo zusammen,

    komme einfach nicht weiter........

    ich habe folgende Abfrage
    PHP-Code:
        $sql_statement"SELECT userid_comm,comment,user FROM blog_comment  WHERE userid_comm = '$user_id' ";
        
    $resultset=mysql_query($sql_statement);
    while(
    $data=mysql_fetch_array($resultset))
    {
        echo 
    "
    <table>
        <tr><td>"
    .$data[comment_user]."</td></tr>
            <tr><td>"
    .$data[comment]."</td></tr></table>
        "
    ;

    das für sich alleine funktioniert auch (er macht eine Tabelle mit 2 Zeilen und zeigt mir zur Zeit alle 4 Einträge die Vorhanden sind an)

    nun möchte ich diese Daten an einer anderen Stelle auf einer Webseite wieder ausgeben
    nur das es sich jetzt nicht um eine Table handelt sonder um ein DIV und das die Daten nun....über die ganze Webseite verstreut angezeigt werden..... auch bei einer Tabelle...er mach also für jeden vorhandenen Datensatz eine neu Tabelle bzw. ein neues DIV ....

    wie bekomme ich das in den Griff********

    danke für euer Hilfe
    Didek
     

  2. #2
    Avatar von Yaslaw
    Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    7.046
    Also, mit dem while() gehst du die Zeilen durch. Ergo muss der <table></table> Tag ausserhalb der while liegen
    PHP-Code:
    echo "<table>";
    while(
    $data=mysql_fetch_array($resultset)){
        echo 
    "<tr><td>".$data[comment_user]."</td></tr>
            <tr><td>"
    .$data[comment]."</td></tr>";
    }
    echo 
    "</table>"
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements¨in PHP-Code kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit Code-Tags verwenden

  3. #3
    didek ist offline Grünschnabel
    Registriert seit
    May 2012
    Beiträge
    4
    Hallo Yaslaw,
    danke für deine Nachricht aber so meinte ich das nicht.......


    ich möchte die Daten nicht als einfaches Echo wiederausgeben, sondern an einem bestimmten Punkt des ganzen Scriptes

    z.B:

    PHP-Code:
     $sql_statement"SELECT userid_comm,comment,user FROM blog_comment  WHERE userid_comm = '$user_id' ";
        
    $resultset=mysql_query($sql_statement);
    while(
    $data=mysql_fetch_array($resultset))
    {
       
    $ausgabe =" ".$data[comment]." ";

    .....
    ......
    ........irgendwo im Script
    PHP-Code:
    <div>$ausgabe</div
    auch das bekomme ich auf die reihe.........

    was ich nicht hinbekomme ist, da es sich dabei um ein array handelt und die Ausgabe als $ausgabe nicht alle Datensätze anzeigt die Vorhanden sind....sondern immer nur den letzten...und wenn er alles anzeigt, dann finde ich für jeden Datensatz einen neuen DIV .....
    was ich aber so nicht haben will........
    wie bekomme ich es hin das dieses array an anderer Stelle verfünftig wieder ausgegeben wird?

    Dank für eure Mühe
    didek
     

  4. #4
    Avatar von Yaslaw
    Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    7.046
    Dann solltest du das Resultat in einen 2 dimensionalen Array schreiben
    PHP-Code:
    //Array initialisieren
    $table = array();
    while(
    $row=mysql_fetch_array($resultset)){
        
    //Die einzelnen Zeilen in den Array abspitzen. Zeile 1 hat so die ID 0
        
    $table[] =$row;


    //irgendwo im Script den comment der 3ten Zeile ausgeben (Index beginnt bei 0!)
    echo $table[2]['comment'];

    //oder als ganze Tabelle
    echo "<table>";
    foreach(
    $table as $row){
        echo 
    "<tr><td>{$row['comment_user']}</td><td>{$row['comment']}</td></tr>";
    }
    echo 
    "</table>"
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements¨in PHP-Code kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit Code-Tags verwenden

  5. #5
    didek ist offline Grünschnabel
    Registriert seit
    May 2012
    Beiträge
    4
    Hallo zusammen,

    @Yaslaw, danke für deine Mühe und Hilfe....


    aber ich komme zum verrxxxxx nicht weiter......

    ich habe mal ein Bild von der ganzen Sache gemacht

    Datenübergabe aus array an Tabelle-unbenannt-1.jpg

    das ist meine Ausgangssituation.....

    ich habe zwei Tabellen

    Tabelle1
    id (INT14) -> AUTO_INCREMENT (bei Eintrag wird eine Id vergeben)
    user (INT14) -> Name des Users/Webseite
    message -> Inhalt des Eintrages
    date -> Tag des Eintrages
    status -> bei Neueintrag so wie Eingestellt (Online, Offline so wie der User es haben will)
    entry -> bei Neueintrag autom. Neu

    Tabell2
    id (INT14) -> AUTO_INCREMENT (bei Eintrag wird auch hier eine Id vergeben)
    userid_comm (INT14) -> id aus tabelle1
    comment -> hier kann jeder Seitenbesucher einen Kommentar schreiben

    soooo.....

    nun möchte ich wie oben im Bild zu sehen......
    auf der Seite Tabelle1
    die Einträge zeigen die der User (z.B. User1) gemacht hat......

    auf der SeiteTabelle2
    die dazugehörigen Einträge der Webseitenbesucher anzeigen (diese aber als Liste im Feld Comment) nicht so wie er das im Moment macht...für jeden Eintrag eine neue Zeile

    die Abfrage die ich dazu erstellt habe sieht wie folgt aus:
    PHP-Code:
    $result mysql_query ('SELECT  T1.*, T2.comment, T2.comment_user, T2.userid_comm,  DATE_FORMAT(T1.date, "%d.%m.%Y, %H:%i") as DatumFormatiert  FROM  blog T1, blog_comment T2 WHERE T2.userid_comm= T1.id '); 
    while(
    $row mysql_fetch_array($result)){
        
    //Die einzelnen Zeilen in den Array abspitzen. Zeile 1 hat so die ID 0
    $table[] =$row;
    foreach(
    $table as $row){
    $user $row['comment_user'];
    $comment $row['comment'];
    }
    $published = ($row['status'] == Online) ? "<span style=\"color:green;\">{$row['status']}</span>" "<span style=\"color:#FF6633;\">{$row['status']}</span>";
            
    $eintrag1 = ($row['entry'] == Neu AND ($row['status'] == Online)) ? "<span style=\"color:red;font-weight:bold;\">{$row['user']}</span>" "<span style=\"color:#FF6633;\">{$row['user']}</span>";
            
    $eintrag2 = ($row['entry'] == Neu AND ($row['status'] == Online)) ? "<span style=\"color:red;\">New</span>" "{$published}";
    $post_list_blog.= 


    <!--- Einträge in Tabelle1 -->
    {$eintrag1}
    {$row['DatumFormatiert']}
    usw....


    <!--- das Feld Comment in Tabelle2 --->
     
    $user$comment

    "
    ;


    ich komme so einfach nicht weiter...vielleicht ist meine ganze Überlegung aber auch falsch


    vielleicht hat von euch einer eine Idee.......
    (etwas fertiges zu nehmen was es ja mehr als genug gibt im Internet..... kommt nicht in betracht)


    Danke für eure Mühe und Hilfe

    didek
    Geändert von didek (07.05.12 um 10:39 Uhr)
     

  6. #6
    Avatar von Yaslaw
    Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    7.046
    item: Formatiere dein Code und du wirst eingie Dinge sehen
    Hier mal dein Code formatiert:
    PHP-Code:
    while($row mysql_fetch_array($result)){
        
    //Die einzelnen Zeilen in den Array abspitzen. Zeile 1 hat so die ID 0
            
    $table[] =$row;
        foreach(
    $table as $row){
            
    $user $row['comment_user'];
            
    $comment $row['comment'];
        }
        
    $published = ($row['status'] == Online) ? "<span style=\"color:green;\">{$row['status']}</span>" "<span style=\"color:#FF6633;\">{$row['status']}</span>";
                
    $eintrag1 = ($row['entry'] == Neu AND ($row['status'] == Online)) ? "<span style=\"color:red;font-weight:bold;\">{$row['user']}</span>" "<span style=\"color:#FF6633;\">{$row['user']}</span>";
                
    $eintrag2 = ($row['entry'] == Neu AND ($row['status'] == Online)) ? "<span style=\"color:red;\">New</span>" "{$published}";
        
    $post_list_blog.= 


            //Eintrage in Tabble1
            
    {$eintrag1}
            
    {$row['DatumFormatiert']}
            usw....


            //das Feld Commet in Tabelle2
             
    $user$comment

        "
    ;

    Also, du siehst wird der foreach bei jedem while-Durchgang ausgeführt. Das sollte glaub nicht sein...

    item: Um die Comments zusammenzunehmen könntest du im SQL ein GROUP_CONCAT() verwenden
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements¨in PHP-Code kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit Code-Tags verwenden

  7. #7
    didek ist offline Grünschnabel
    Registriert seit
    May 2012
    Beiträge
    4
    Hallo zusammen,

    @Yaslaw...Danke für deine Mühe

    aber ich denke das ich damit noch ein wenig Überfordert bin......werde wohl noch intensiver lesen müssen

    Grüße
    didek
     

  8. #8
    Avatar von Yaslaw
    Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    7.046
    Nimm trotzdem den foreach() aus dem while() heraus. Das kann so nicht das sein was du willst
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements¨in PHP-Code kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit Code-Tags verwenden

Thema nicht erledigt

Ähnliche Themen

  1. Array in Tabelle ausgeben
    Von DFence im Forum PHP
    Antworten: 2
    Letzter Beitrag: 02.12.09, 07:21
  2. Tabelle aus Array erzeugen
    Von Spranta im Forum PHP
    Antworten: 3
    Letzter Beitrag: 10.07.08, 13:28
  3. html-Tabelle in PHP mit Array
    Von MediaPlanet im Forum PHP
    Antworten: 4
    Letzter Beitrag: 30.10.03, 17:10
  4. Array in Tabelle ausgeben?
    Von Dick Starbuck im Forum PHP
    Antworten: 4
    Letzter Beitrag: 23.01.03, 18:34
  5. Array und Tabelle****?
    Von MIniMe_ im Forum PHP
    Antworten: 11
    Letzter Beitrag: 20.12.01, 18:43