anders zufallsbild wenn schon bewertet

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

  • anders zufallsbild wenn schon bewertet

    noch was zum Thema Bilder ...
    Ich habe 2 Tabellen, eine mit Infos zu den Bildern (Datum, Name, ...) und die andere mit Daten ob das Bild von dem User schon bewertet.

    das mein code:
    PHP-Code:
      $sql "SELECT * FROM pics ORDER BY RAND() LIMIT 1;"// Zufallsbild
      
    $result mysql_query($sql) OR die("Query: <pre>".$sql."</pre>\n"."Antwort: ".mysql_error());
      while(
    $row mysql_fetch_assoc($result)) {
        
    $id $row['id'];
        
    $sql2 "SELECT * FROM votes WHERE bild = ".$id.";";
        
    $result2 mysql_query($sql2) OR die("Query: <pre>".$sql2."</pre>\n"."Antwort: ".mysql_error());
        while(
    $row2 mysql_fetch_assoc($result2)) {
          if ( 
    $row2['voter'] == $userid ) { $schon_abgestimmt 1; }
        }
      } 
    Nun soll der mir aber nur ein Zufallsbild anzeigen was noch nicht von user bewertet wurde ...
    sprich die schleife neu durchlaufen laufen lassen ...
    also ich weiß das der user schon abgestimmt hat und nun soll ein anderes bild angezeigt werden ...
    war das verständlich? ^^
    Zuletzt geändert von Besth; 30.08.2006, 12:03.
    Mess with the Besth, die like the rest!

  • #2
    Ziemlich verkorkst.

    2 Queries, wo eine reicht,
    2 mal ne While-Schleife, die in JEDEM FALL nur einmal durchlaufen wird

    Schau dir JOINS an und machs richtig.

    Kommentar


    • #3
      gut hab jetzt den querry umgestellt:
      Code:
      SELECT
        pics.id
      FROM
        pics, votes
      WHERE
        votes.voter <>1 AND pics.id = votes.wasid
      ORDER BY
        RAND( ) 
      LIMIT
        10
      jetzt gibt der mir aber nur die bilder an die schon bewertet wurden von andern.
      Beispiel:
      - User 1 hat bild 1 2 3 bewertet
      - User 2 hat bild 1 4 5 bewertet
      User 1 bekommt als Zufallsbilder 4 oder 5 aber nie 6 7 8 9 10

      wie muss ich den "WHERE votes.voter <>1" abändern?
      Mess with the Besth, die like the rest!

      Kommentar


      • #4
        Ich glaube dir nicht, dass du unseren Thread zum Thema Joins gelesen hast. Da steht das fertige Beispiel drin.

        Kommentar


        • #5
          ich habs versucht, aber nicht wirklich verstanden, welches join muss ich denn da nehmen? da gibs ja mehrere!

          EDIT:

          wäre das so richtig?
          Code:
          SELECT pics.id FROM pics INNER JOIN votes ON votes.voter <> 1 ORDER BY RAND() LIMIT 1

          Zuletzt geändert von Besth; 30.08.2006, 14:14.
          Mess with the Besth, die like the rest!

          Kommentar


          • #6
            alle quadrate auslesen, zu denen die wurzel nicht vorhanden ist
            übersetzt: alle bilder auslesen, zu denen die bewertzng nicht vorhanden ist

            wäre das so richtig?
            Das hast du doch sicher selbst ausprobiert, oder?

            Kommentar

            Lädt...
            X