Problem mit ORDER

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

  • Problem mit ORDER

    Ich habe folgendes Problem:
    Ich will aus einer MySQL-Tabelle die Felder banner1, banner2, banner3, banner4, banner5 WHERE id = '$sponsorid' (siehe code) abfragen und eines davon dann per zufall auswählen. soweit so gut - aber wie kann ich dann das ergebnis, das per zufall ausgewählte ergebnis speichern?

    $query = mysql_query("SELECT banner1, banner2, banner3, banner4, banner5 FROM addsponsor WHERE id = '$sponsorid' ORDER BY RAND() LIMIT 1");
    while ($row = mysql_fetch_assoc($query)) {
    //Code zum speichern
    }

  • #2
    Speichern? Was meinst du damit?

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      na ja, halt das ergebnis in einer variable speichern, so wie bei einer normalen abfrage:


      $query = mysql_query("SELECT zielurl FROM addsponsor WHERE id = '$id'");
      while ($row = mysql_fetch_assoc($query)) {
      $zielurl = $row[zielurl];
      }

      Kommentar


      • #4
        du hast dir doch die Antwort bereits selber gegeben!

        php-Entwicklung | ebiz-consult.de
        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
        die PHP Marktplatz-Software | ebiz-trader.de

        Kommentar


        • #5
          ja, dass das so in etwa aussieht, war mir schon klar. aber wie?

          so?
          $query = mysql_query("SELECT banner1, banner2, banner3, banner4, banner5 FROM addsponsor WHERE id = '$sponsorid' ORDER BY RAND() LIMIT 1");
          while ($row = mysql_fetch_assoc($query)) {
          $banner1 = $row[banner1];
          $banner2 = $row[banner2];
          $banner3 = $row[banner3];
          usw.,

          oder nur:
          $query = mysql_query("SELECT banner1, banner2, banner3, banner4, banner5 FROM addsponsor WHERE id = '$sponsorid' ORDER BY RAND() LIMIT 1");
          while ($row = mysql_fetch_assoc($query)) {
          $banner1 = $row[banner1];



          ????

          Kommentar


          • #6
            sorry, aber ich stehe im Moment echt auf dem Schlauch.

            Was steht denn in Banner1 bis Banner5 drin?
            Möchtest du einen zufälligen Banner aus diesen 5 ausgeben?

            php-Entwicklung | ebiz-consult.de
            PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
            die PHP Marktplatz-Software | ebiz-trader.de

            Kommentar


            • #7
              in jedem feld steht die url eines banners drinnen. von diesen 5 bannercodes möchte ich jetzt einen in einer variable speichern.

              Kommentar


              • #8
                das hast du doch schon mit $row[banner1]; bis $row[banner5]; !!

                php-Entwicklung | ebiz-consult.de
                PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                die PHP Marktplatz-Software | ebiz-trader.de

                Kommentar


                • #9
                  einer von uns beiden ist hier definitiv zu müde.


                  natürlich habe ich (mind.) einen schon gespeichert, aber ich will eben
                  a) NUR einen speichern und
                  b) nur einen per ZUFALL speichern, also bei jedem aufruf einen anderen!!!

                  Kommentar


                  • #10
                    Original geschrieben von panta
                    einer von uns beiden ist hier definitiv zu müde. ...
                    Das bin mit Sicherheit ich

                    Aber schau dir doch mal das Tutorial an Gewichtete Abfragen SQL-Abfragen

                    gruß
                    berni

                    php-Entwicklung | ebiz-consult.de
                    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                    die PHP Marktplatz-Software | ebiz-trader.de

                    Kommentar


                    • #11
                      na ja, meine fragestellung war sicher auch nicht ganz korrekt...

                      ich habe das ganze jetzt etwas unellegant gelöst, aber es müsste theoretisch gehen:

                      srand((double)microtime()*1000000);
                      $rand = rand (1, 5);

                      dann:
                      $abanner = "banner".$rand; //Geht das???

                      und rufe dann entsprechend ab.

                      was mich jetzt interessieren würde: fällt dir noch was besseres ein, bzw. funktioniert das:
                      $abanner = "banner".$rand;
                      Zuletzt geändert von panta; 29.07.2002, 00:19.

                      Kommentar


                      • #12
                        dann würde ich mysql_fetch_row verwenden
                        mit $row[$rand] !

                        php-Entwicklung | ebiz-consult.de
                        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                        die PHP Marktplatz-Software | ebiz-trader.de

                        Kommentar


                        • #13
                          tschuldigung, dass ich dich mit meinen frage so nerve, aber ich bin noch am lernen

                          würde der komplette befehl also dann so lauten?

                          $query = mysql_query("SELECT banner1, banner2, banner3, banner4, banner5 FROM addsponsor WHERE id = '$sponsorid' ORDER BY RAND() LIMIT 1");
                          while ($row = mysql_fetch_assoc($query)) {
                          $banner1 = $row[$rand]
                          }

                          Kommentar


                          • #14
                            PHP-Code:
                            $query mysql_query("SELECT banner1, banner2, banner3, 
                            banner4, banner5 FROM addsponsor WHERE id = '
                            $sponsorid' ORDER BY RAND() LIMIT 1");
                            $row =mysql_fetch_row ($query)
                            srand((double)microtime()*1000000); 
                            $rand rand (04);
                            echo  
                            $row[$rand]; 
                            ob das so $row[$rand]; funktioniert habe ich selber noch nicht getestet.

                            gruß
                            berni

                            php-Entwicklung | ebiz-consult.de
                            PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                            die PHP Marktplatz-Software | ebiz-trader.de

                            Kommentar


                            • #15
                              Vielen Dank!
                              Wenn man nach
                              $row =mysql_fetch_row ($query)
                              noch ein ';' setzt, funktioniert alles perfekt

                              *umarm*

                              Kommentar

                              Lädt...
                              X