Counter mit Ranking

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Arzee
Mitglied
Beiträge: 23
Registriert: 17.06.2007 14:34

Beitrag von Arzee »

Hab jetzt das hier zusammen gebaut:

Code: Alles auswählen

$sql = mysql_query("SELECT COUNT(id) as count FROM pr_site WHERE (IF(views>0 AND visits>0,(views/visits),1)+IF(hin>0 AND hout>0,(hin/hout),1))>(SELECT (IF(views>0 AND visits>0,(views/visits),1)+IF(hin>0 AND hout>0,(hin/hout),1)) as place FROM pr_site WHERE id='$id' LIMIT 1)");

echo mysql_result($sql,0)+1;
Lokal geht auch alles einwandfrei, so wie es sein sollte. Aber wenn ich es auf meinen Server hochlade dann zeigt es da einen Fehler, die MySQL Version ist anders.
Wie könnte ich das selbe umschreiben das es auch auf der alten Version geht?

Server MySQL Version: 4.0.24
Lokale MySQL Version: 5.0.20
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Warum so kompliziert mit Subquery? (Das wird auch das sein, was in der 4er Version - die übrigens total veraltet ist - nicht geht) Eigentlich müsste sich das auch durch doppelte Verwendung der gleichen Tabelle mit einem Full Join oder left Join realisieren lassen, in etwa so:

Code: Alles auswählen

SELECT COUNT(*) AS count 
FROM 
pr_site a, pr_site b 
WHERE 
(
IF(a.views>0 AND a.visits>0,(a.views/a.visits),1)
+
IF(a.hin>0 AND a.hout>0,(a.hin/a.hout),1)
)
>
(
IF(b.views>0 AND b.visits>0,(b.views/b.visits),1)
+
IF(b.hin>0 AND b.hout>0,(b.hin/b.hout),1)
)
AND b.id = '$id'
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Arzee
Mitglied
Beiträge: 23
Registriert: 17.06.2007 14:34

Beitrag von Arzee »

Danke so gehts
Antworten

Zurück zu „Coding & Technik“