Verständnisfrage MySQLi Abfrage bzgl Voting

lockcat

Erfahrenes Mitglied
Hi ho liebe PHP Freunde,

ich würde gerne wissen (lernen) wie ich am besten ein Voting System art Hot or Not Prinzip Programmiere... ich gehe davon aus dass ich zwei Tabellen namens Foto (id, user_id, fotoName) und Voting (id, user_id, foto_id) habe nun möchte Ich schon bei der Sql abfrage prüfen ob auf diesem Bild schon gevotet wurde wie mache ich es am besten? per LEFT JOIN oder WHERE?

Hat jemand ein Lösungsansatz?

Gruß
 
Ich würde ein inner join nutzen.

SQL:
SELECT count(v.id) as anz
    from foto f
        inner join voting v on f.id = v.foto_id and v.user_id = 1

Dann müsstest du nur prüfen, ob anz größer 0 ist oder nicht.
 
Ah genau so habe ich es mir gedacht :D an ein INNER JOIN hab ich mal wieder nicht gedacht -.-* Dank dir....

Nun gehe ich davon aus dass ich die Bilder ausgeben lasse mit einem LIMIT von 1 wie kann ich am besten verhindern, dass schon ein Bild was von User A gevotet wurde nicht mehr ausgegeben wird - auch per INNER JOIN?

Gruß
 
Das würde ich wiederum mit ein Left Join machen ;)
SQL:
SELECT f.id, f.fotoName
    from foto f
        left join voting v on f.id = v.foto_id and v.id is null and v.user_id = 1 and f.user_id <> 1

Das dürfte nur die Bilder liefern, für die der Nutzer noch nicht gevotet hat.
 
Zurück