Mysql UNION erzeugt doppelte Ausgabe
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
abfragen
anfrage
ausgabe
bild
code
datum
eigentliche code
funktionieren
idee
lese
machen
schauen
schleife
struktur
tabelle
test
union
vergleichen
-
Hallo Community,
eigentlich macht UNION genau das, was es soll.. Nur nicht das was ich haben will leider...
Ich möchte zwei Abfragen haben und dessen Daten miteinander vergleichen, dazu lese ich beide Tabellen in einer Query mittels UNION aus und überprüfe in meiner While schleife, ob "uid" gesetzt ist... Wenn nicht soll ein Test ausgegeben werden, um zu schauen, ob die if abfrage funktioniert, andernfalls soll der eigentliche Code angezeigt werden..
$get_clicks = mysql_query("SELECT * FROM drupal_clicked WHERE uid = $userId UNION SELECT * FROM drupal_ads"); if(!$get_clicks) { die('Ungültige Anfrage: ' . mysql_error()); } while ($ausgabe = mysql_fetch_object($get_clicks)) { if(($ausgabe->uid) == $userId){ //Zeige test echo 'test'; } else { echo $ausgabe->uid; echo $ausgabe->frame; echo $ausgabe->time_clicked; } }
drupal_clicked ist selbst erstellt und hat die Struktur
uid -- id_clicked -- time_clicked
drupal_ads ist ebenfalls selbst erstellt und strukturiert sich so:
id -- frame -- bild
Wobei frame und Bild erstmal unwichtig sind, die wurden schon verarbeitet...
Meine Idee war nur meine query wie folgt zu ändern:
("SELECT * FROM drupal_clicked, drupal_ads WHERE uid = $userId")
Hab ich da was falsch gemacht, es müsste doch eigentlich so funktionieren? Tut es nur leider nicht :(
Beitrag zuletzt geändert: 28.2.2012 20:48:05 von kill-a-teddy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Teste es einmal mit:
$get_clicks = mysql_query("SELECT * FROM drupal_clicked WHERE uid = $userId LEFT JOIN (drupal_ads) ON (drupal_ads.id = drupal_clicked.id_clicked)");
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage