[PHP/MySQL] abfrage problem

day

aus vorbei
ID: 53555
L
20 April 2006
1.399
178
ich habe da ein prob und komme nicht weiter, ich möchte das die banner auf der seite nach höhe sort. werden. so schaut es im mom aus.

if ($config->MySQLMitRand) $loop = $db_connect->query("select b.* from $GlobalProjektData[TabellenPraefix]klick4lose b left outer join $GlobalProjektData[TabellenPraefix]klick4lose_reload r on b.id = r.bannerid and (r.KlammID = $KlammID OR r.ip = '$REMOTE_ADDR') where r.id is null and Klicks < Gebucht and b.KlammID <> $KlammID and b.Textlink = 0 and b.Beendet = 0 order by b.Verguetung limit 0, $config->BannerProSeite ");

und

$result = $db_connect->single_row("select b.* from $GlobalProjektData[TabellenPraefix]klick4lose b left outer join $GlobalProjektData[TabellenPraefix]klick4lose_reload r on b.id = r.bannerid and (r.klammid = $KlammID OR r.ip = '$REMOTE_ADDR') where r.id is null and Klicks < Gebucht and b.KlammID <> $KlammID and b.Textlink = 0 and b.Beendet = 0$Ausschluss order by rand() limit $rand, 1");

wie muß ich die ändern das sie zusammen passen

vielleicht kann mir ja hier wer helfen
gruß day
 
die erste Abfrage sortiert nach Verguetung (order by b.Verguetung) die zweite nach Zufall (order by rand())
 
ok und was muß ich wie bei der zweiten ändern
bei alem was ich da ändere bekomme ich nur daten bank fehler
 
selber denken???

:think:Was könnte man da wohl ändern... ich wüde ja das rand() durch b.Verguetung ersetzen:wall:
 
das hatte ich schon
da kommt dann das

Es ist ein Datenbank-Fehler aufgetreten. Der Administrator wurde bereits informiert.

Bitte versuchen Sie es später noch einmal.Database error in LosZock: Invalid SQL: select b.* from loszock_klick4lose b left outer join loszock_klick4lose_reload r on b.id = r.bannerid and (r.klammid = 53555 OR r.ip = '88.134.60.202') where r.id is null and Klicks < Gebucht and b.KlammID <> 53555 and b.Textlink = 0 and b.Beendet = 0 order b.Verguetung limit 474, 1 mysql error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'b.Verguetung limit 474, 1' at line 1 mysql error number: 1064 Date: 10.07.2006 @ 11:31 Script: /klick4lose.php Referer:
 
mit by kommt zwar der fehler nicht mehr aber sortieren tu er auch nicht
ist genauso wie vorher langsam verzweifel ich
 
day schrieb:
mit by kommt zwar der fehler nicht mehr aber sortieren tu er auch nicht
ist genauso wie vorher langsam verzweifel ich

Was heißt er sortiert nicht?? Kommt das kleinste Ergebnis zuerst, oder ist alles völlig durcheinander??
 
Setz deine Abfrage doch mal in Code-Tags, dann kann man vielleicht etwas erkennen. SO wird man ja blöd im Kopf.
edit: Hab es mal selber gemacht:

PHP:
if ($config->MySQLMitRand) $loop = $db_connect->query("select b.* from $GlobalProjektData[TabellenPraefix]klick4lose b left outer join $GlobalProjektData[TabellenPraefix]klick4lose_reload r on b.id = r.bannerid and (r.KlammID = $KlammID OR r.ip = '$REMOTE_ADDR') where r.id is null and Klicks < Gebucht and b.KlammID <> $KlammID and b.Textlink = 0 and b.Beendet = 0 order by b.Verguetung limit 0, $config->BannerProSeite ");
PHP:
$result = $db_connect->single_row("select b.* from $GlobalProjektData[TabellenPraefix]klick4lose b left outer join $GlobalProjektData[TabellenPraefix]klick4lose_reload r on b.id = r.bannerid and (r.klammid = $KlammID OR r.ip = '$REMOTE_ADDR') where r.id is null and Klicks < Gebucht and b.KlammID <> $KlammID and b.Textlink = 0 and b.Beendet = 0$Ausschluss order by rand() limit $rand, 1");
 
Zuletzt bearbeitet: