2 db tabellen mit einer while schleife abfragen?

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

  • 2 db tabellen mit einer while schleife abfragen?

    Hallo leute

    und zwar habe ich zwei datenbank Tabellen (newsletter , newsletter_gruppe) und diese möchte ich in einer Tabelle in einer While schleife abfragen geht das?

    derzeit hab ich es so gelösst, dabei ist der erste datensatz mit dem inhalt aus der zweiten tabelle gefüllt nur die restlichen sind komplett leer. warum?


    PHP-Code:

    $abfrage_newsletter 
    "SELECT * FROM newsletter";
    $ergebnis_newsletter mysql_query($abfrage_newsletter);

    $abfrage_gruppe "SELECT * FROM newsletter_gruppe";
    $ergebnis_gruppe mysql_query($abfrage_gruppe); 
    PHP-Code:

    while($row mysql_fetch_object($ergebnis_newsletter))
                    {
                    echo 
    "<tr>";
                    echo 
    "<td>";
                    echo 
    $row->email;
                    echo 
    "</td>";
                    echo 
    "<td>";
                    echo 
    $row->name;
                    echo 
    "</td>";
                    echo 
    "<td>";
                    echo 
    "<select name='gruppe' >";
                    while(
    $row_gruppe mysql_fetch_object($ergebnis_gruppe))
                            {
                            echo 
    '<option>';
                            echo 
    $row_gruppe->gruppe;
                            echo 
    '</option>';
                            }
                    echo 
    "</select> ";
                        
                    echo 
    "</td>";
                    echo 
    "<td>";
                    echo 
    $row->datum;
                    echo 
    "</td>";
                    echo 
    "<td>";
                    echo 
    "ändern/ löschen";
                    echo 
    "</td>";
                    echo 
    "</tr>";
                    } 

  • #2
    forumsuche macht ************y:
    http://www.php-resource.de/forum/sho...threadid=28292

    Kommentar


    • #3
      Der link brinkt mich leider nicht weiter da wird ja nach meiner ansicht nur beschrieben wie man zwei Tabellen in einen querry reinbekommt. mir gehts ja um die While schleife.

      Kommentar


      • #4
        Du willst zu jedem Tupel aus newsletter alle Tupel aus newsletter_gruppe in einer Selectbox ausgeben. Richtig?

        Für sowas gibts Joins.

        Alternativ kannst du dir auch die Selectbox vorher fertig machen
        PHP-Code:
        $sql 'SELECT * FROM newsletter_gruppe';
        $res mysql_query($sql) or die(mysql_error());

        $sb '<select name="gruppe">';
        while(
        $row mysql_fetch_row($res)) {
            
        $sb .= '<option>'.$row['gruppe'].'</option>';
        }
        $sb .= '</select>'
        und dann immer wieder verwenden
        PHP-Code:
        $sql 'SELECT * FROM newsletter';
        $res mysql_query($sql) or die(mysql_error());

        while (
        $row mysql_fetch_row($res)) {
            echo 
        '<tr>';
            echo 
        '<td>'.$row['email'].'</td>';
            echo 
        '<td>'.$row['name'].'</td>';
            echo 
        '<td>'.$sb.'</td>';
            echo 
        '<td>'.$row['datum'].'</td>';
            echo 
        '<td>ändern / löschen</td>';
            echo 
        '</tr>';

        Kommentar


        • #5
          Das ist ne gute Idee!!

          Mal schaun obs auch klapt weil möchte hinterher die jeweiligen User mit der Select box einer Gruppe zuordnen.

          Kommentar


          • #6
            Deine Idee hat geklappt, bzw. du hattest einen kleinen Denkfehler drin. Es muß mysql_fetch_object genommen werden und nicht mysql_fetch_row, ansonsten erhällt man auch nur eine leere selectbox.

            nun jetzt noch meine Frage wie kann ich User X aus dieser Selectbox eine Gruppe zuordnen? bzw wenn ich eine Gruppe ausgewählt habe das diese auch schon hier selectiert ist wenn ich die Seite aufrufe?

            Kommentar


            • #7
              Original geschrieben von chrisibrand
              Es muß mysql_fetch_object genommen werden und nicht mysql_fetch_row, ansonsten erhällt man auch nur eine leere selectbox.
              Das glaube ich nicht Tim.

              Um jeweils eine Option aus der Selectbox vorzuselektieren kannst du natürlich die SB nicht vorher komplett fertig machen. Stattdessen solltest du die gruppen in einen Array sb_values speichern und statt
              PHP-Code:
              echo '<td>'.$sb.'</td>'
              machst du
              PHP-Code:
              echo '<td>'.build_sb(sb_valuesvalue2select).'</td>'
              Was die Funktion macht ist klar.

              Kommentar


              • #8
                Gut das ist mir klar aber wie bringe ich die Datensätzte aus der Tabelle in die Array ?

                Sprich ich muß sie ja erst auslesen und wenn ich sie ausgelesen habe dann muß ich sie ja in die Array bringen.

                Kommentar


                • #9
                  ?

                  du hast doch $row.

                  Kommentar


                  • #10
                    in diesem fall ist $row_gruppe die richtige Variable aber wie bekomme ich diese in die array rein?

                    $gruppen_auswahl= array($row_gruppe) ???

                    Kommentar


                    • #11
                      sinnvoller wäre vielleicht
                      PHP-Code:
                      $arr[] = $row_gruppe
                      bei jedem zyklus. oder eben einzelne elemente von $row_gruppe...

                      mehr dazu bei http://de3.php.net/manual/de/language.types.array.php

                      Kommentar

                      Lädt...
                      X