Datensätze aus zwei while zu vergleichen

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

  • Datensätze aus zwei while zu vergleichen

    Hallo,
    ich versucher vergeblich wie man sehen kann
    daten aus zwei Tabellen in einer Datenbank zu
    vergleichen. Wie stelle ich es am schlausten an
    zwei Datensätze aus zwei while zu
    vergleichen?

    PHP-Code:
    session_start();    
    include 
    'sqlvars.php';      
      
    $abfrage "SELECT id, empf_mail, status, umsatz FROM bonus";
      
    $ergebnis mysql_query($abfrage);
      
      
       
    $abfrage1 "SELECT email FROM login";
      
    $ergebnis1 mysql_query($abfrage1);

      while(
    $row mysql_fetch_object($ergebnis))
        {
        echo 
    $row->empf_mail;
        
    $row->empf_mail=$emmail;
        echo 
    '<br>';

       }
           echo
    '</td>
            <td width="34%" style="border-style: none; border-width: 
    medium">'
    ;
                            
     while(
    $row1 mysql_fetch_object($ergebnis1))
        {
        echo 
    $row1->email == $row->empf_mail;
        echo 
    "ok";
        echo 
    '<br>';

       } 

  • #2
    Habs nochmal geändert

    Ich hatte session user und id vergessen.
    Aber ich bekomme die daten nicht zum Vergleich
    und erstrecht nix ausgegeben!

    PHP-Code:
          session_start();    
    include 
    'sqlvars.php';      
      
    $abfrage "SELECT id, empf_mail, status, umsatz FROM bonus WHERE id 
    = '
    $user'";
      
    $ergebnis mysql_query($abfrage);
      
      
       
    $abfrage1 "SELECT email FROM login WHERE user = '$user'";

      
    $ergebnis1 mysql_query($abfrage1);



      while(
    $row mysql_fetch_object($ergebnis))
        {
        echo 
    $row->empf_mail;
        echo 
    '<br>';

       }
           echo
    '</td>
            <td width="34%" style="border-style: none; border-width: 
    medium">'
    ;
                            
     while(
    $row1 mysql_fetch_object($ergebnis1))

    if(
    $row1->email==$row->empf_mail)    {
        echo 
    $row1->email;
        echo 
    "ok";
        echo 
    '<br>';

       }else{

        echo 
    "nicht ok";
        echo 
    '<br>';
       } 

    Kommentar


    • #3
      Re: Habs nochmal geändert

      Muss man wirklich immer wieder auf das selbe hinweisen ...?


      error_reporting E_ALL, mysql_error nutzen, Kontrollausgabe Query & Test im PMA o.ä., ...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Und warum wählst du nicht nur die Datensätze aus beiden Tabellen aus, die der Bedingung entsprechen ? Dann musst du nix mehr vergleichen. Hier im Forum gibt es einen Sticky Thread zum Thema join, welche imho genau das wäre was du brauchst und Daten aus zwei Tabellen zu verknüpfen.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        "An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          So jetzt funst es.

          Aber nun das nächste Problem!

          Ich habe eine Funktion in der werte von einer bestimmten ID
          zusammengerechnet werden sollen.

          Habe es mal mit SELECT w_id SUM(preis) FROM warenkorb versucht.
          Das klapte nicht. Warscheinlich weil ich die Funktion SUM nicht so kenne und hier im Forum leider nicht all zuviel darüber steht.

          Nun versuche ich es so:

          PHP-Code:
          include 'sqlvars.php';    


          $werte1 "SELECT id FROM bonus WHERE id = '$user'";
          $werte2 "SELECT w_id, preis FROM warenkorb";

          $auszug1 mysql_query($werte1);
          $auszug2 mysql_query($werte2);

          $counter 0;
          while(
          $row7 mysql_fetch_object($auszug1))
          while(
          $row8 mysql_fetch_object($auszug2))
          {

             if (
          $row7->id==$row8->w_id) {
              
          $counter++;
                 
           echo 
          "Anzahl: ".$counter." ";
            echo 
          '<br>'
          echo 
          "$row8->preis";
          echo 
          '<br>';
             }
           } 
          Ich bekomme zb beide einträge de der Beispieluser hat
          auch angezeigt!

          Die ausgabe sieht so aus:
          --------------------------------
          Anzahl: 1
          12.00
          Anzahl2
          700.23
          --------------------------------

          Was ich aber möchte ist, die beiden werte miteinander zu
          addieren. Das klappt irgendwie nicht.

          Ich lasse mir auch durch PRE
          PHP-Code:
          <?php   echo '<pre>'print_r ($_REQUEST); echo '</pre>'?>
          alles ausgeben.

          Mein problem ist:
          Ich finde keinen ansatz die werte aus der Variablen
          PHP-Code:
          $row8->preis 
          zusammen zu rechnen!

          Vieleicht kann mir ja hierbei jemand helfen,
          ich denke mal das ich vieleicht eine denkblockade habe oder
          einfach nicht weis wonach ich suchen muß.

          Vielen Dank schonmal im voraus an Die liebenswürdigen
          die abahmen mit mir haben und nem kleenen blöödi wie mir helfen.
          :-)

          Kommentar


          • #6
            Ich habe jetzt bloss mal deinen letzten Beitrag überflogen. Aber folgendes dürfte dir wohl helfen:

            Code:
            SELECT w_id,SUM(preis) FROM warenkorb GROUP BY w_id
            damit fasst du alle w_id zusammen die gleich sind und dann kannst du auch daraus eine Summe berechnen.

            Kommentar


            • #7
              Ist das jetzt Dein Ernst? Wenn Du es schaffst, in der Schleife bei jedem Treffer eine Variable hochzuzählen, wo ist dann bitte die Schwierigkeit,
              stattdessen in einer Variablen die Preise aufzusummieren und diese dann nach der Schleife auszugeben? Ratsamer wäre es allerdings, jahlives
              Hinweis zu beachten und das über SQL zu lösen. Das bekommst Du mit einer einzigen Abfrage hin, die Dir direkt das Ergebnis liefert.
              Stichworte sind JOIN und SUM

              LG

              Kommentar


              • #8
                PHP-Code:
                $werte2 "SELECT w_id,SUM(preis) AS test FROM warenkorb GROUP BY w_id"
                So klappt es, habe immer vergessen das ich den wert aus SUM ja in eine andere variable also AS test packen muß damit ich sie auch gesamt ausgeben kann! JU hu

                Kommentar


                • #9
                  Original geschrieben von kuddeldaddeldu
                  Ist das jetzt Dein Ernst? Wenn Du es schaffst, in der Schleife bei jedem Treffer eine Variable hochzuzählen, wo ist dann bitte die Schwierigkeit,
                  stattdessen in einer Variablen die Preise aufzusummieren und diese dann nach der Schleife auszugeben? Ratsamer wäre es allerdings, jahlives
                  Hinweis zu beachten und das über SQL zu lösen. Das bekommst Du mit einer einzigen Abfrage hin, die Dir direkt das Ergebnis liefert.
                  Stichworte sind JOIN und SUM

                  LG
                  Alles schon erledigt!

                  Aber trozdem, was bring mir JOIN für einen vorteil?

                  Kommentar


                  • #10
                    Aber trozdem, was bring mir JOIN für einen vorteil?
                    Du sparst Dir die while-Schleife mit dem Vergleich der IDs und hast stattdessen eine einzige Abfrage, die Dir die Summe der Preise für den gewünschten User liefert.

                    LG

                    Kommentar

                    Lädt...
                    X