Abfrage Verbessern

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

  • Abfrage Verbessern

    weiss net ob es überhaupt geht
    aber fragen schadet nix

    will diese abfrage eventuell verbessern oder vereinfachen
    das da eventuell nur 1 abfrage draus wird

    1. qry


    PHP-Code:
        $qry mysql_query"SELECT * FROM t1" );

        
    $t1 mysql_fetch_assoc$qry );
            
    $rw1 $t1['wert1'];
            
    $rf1 $t1['wert2'];
        
    $t1 mysql_fetch_assoc$qry );
            
    $rw2 $t1['wert1'];
            
    $rf2 $t1['wert2'];
        
    $t1 mysql_fetch_assoc$qry );
            
    $rw3 $t1['wert1'];
            
    $rf3 $t1['wert2'];
        
    $t1 mysql_fetch_assoc$qry );
            
    $rw4 $t1['wert1'];
            
    $rf4 $t1['wert2'];
        
    $t1 mysql_fetch_assoc$qry );
            
    $rw5 $t1['wert1'];
            
    $rf5 $t1['wert2'];
        
    $t1 mysql_fetch_assoc$qry );
            
    $rw6 $t1['wert1'];
            
    $rf6 $t1['wert2']; 
    2. qry

    PHP-Code:

    $qry 
    mysql_query"SELECT * FROM t2 WHERE user_id = '$uid' ORDER BY wert_id" );

        
    $t2 mysql_fetch_assoc$qry );
            
    $w1 floor($t2['anzahl']);

        
    $t2 mysql_fetch_assoc$qry );
            
    $w2 floor($t2['anzahl']);

        
    $t2 mysql_fetch_assoc$qry );
            
    $w3 floor($t2['anzahl']);

        
    $t2 mysql_fetch_assoc$qry );
            
    $w4 floor($t2['anzahl']);

        
    $t2 mysql_fetch_assoc$qry );
            
    $w5 floor($t2['anzahl']);
            
        
    $t2 mysql_fetch_assoc$qry );
            
    $w6 floor($t2['anzahl']); 
    hoffe das reicht wenn nicht sagt was ihr noch für angaben braucht

  • #2
    Was sprechen deine Tabellen-Strukturen? Gib mal DUMP

    Läuft sicher auf http://www.php-resource.de/forum/sho...threadid=28292 heraus

    Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
    sondern mit den Augen das Manual zu lesen.

    Kommentar


    • #3
      t1:

      CREATE TABLE `t1` (
      `id` tinyint(4) NOT NULL auto_increment,
      `wert1` varchar(20) collate latin1_general_ci NOT NULL,
      `wert2` double NOT NULL,
      PRIMARY KEY (`id`)
      ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=10 ;


      t2:

      CREATE TABLE `t2` (
      `id` int(11) NOT NULL auto_increment,
      `user_id` int(11) NOT NULL,
      `wert_id` int(11) NOT NULL,
      `anzahl` double NOT NULL,
      PRIMARY KEY (`id`)
      ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=6 ;

      Kommentar


      • #4
        kannst du mal sagen wie die beiden abfragen zusammenhängen? ich kann leider keine verbindung finden zwischen dem 1. und dem 2. query erkennen.

        zu query1
        es reicht wenn du
        PHP-Code:
        $t1 mysql_fetch_assoc$qry ); 
        einmal am beginn aufrufst. ich hab auch keine ahnung was du damit bezwecken willst wenn du den gleichen wert($t1['wert1'] & $t1['wert2']) immer in verschiedene variablen steckst aber du wirst es wohl wissen oder?

        zu query2
        durchläufst du die abfrage immer mit unterschiedlichen IDs oder wird die nur einmal aufgerufen?
        wenn nur einmal gilt das gleiche wie oben. nur einmal aufrufen lassen:
        PHP-Code:
        $t2 mysql_fetch_assoc$qry ); 

        Kommentar


        • #5
          zu t1

          es sind 6 unterschiedlieche wert1 zb. namen

          zu t2

          da wird zu jedem wert1 also 6 unterschiedliche ids
          ne anzahl gespeichert


          reicht das

          Kommentar


          • #6
            kann mir nun einer weiterhelfen oder net

            Kommentar


            • #7
              Nein, mit nur einem mysql_fetch_* ist es nicht das gleiche, denn bei jedem fetch wird der Zeiger im Resultset weitergeschoben, so dass das nächste fetch den nächsten Datensatz liefert.

              Allerdings ist obiger Code wirklich ungeschickt. Dorin, du solltest dich mal mit Arrays und Schleifen vertraut machen.

              Um beide Queries zu einer zu verschmelzen, sollten sie auch etwas miteinander zu tun haben. Diese Information hast du bisher nicht gegeben. Ich vermute, dass t2.wert_id eine Referenz auf t1.id ist. Richtig? Dann kannst du beide Queries zu einem JOIN zusammenfassen.

              Kommentar


              • #8
                ja so mein ich das

                und wie geht das nun mit einem JOIN

                zusammenzufassen
                Zuletzt geändert von Dorin; 26.12.2006, 15:52.

                Kommentar

                Lädt...
                X