Nur ein Bild pro User??

Begonnen von NeMeSiSX2LC, 14 Juni 2005, 10:05:34

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

NeMeSiSX2LC

#1064 - 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 '' at line 6

das haut er mir dann hin
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Andi

Nee, vergiss es, mySql kann das nicht richtig und ein kleiner Fehler ist auch drin....

Hier eine gangbare Lösung mit 2 Abfragen:
$qry = "SELECT uname, Max(rating) AS ma
FROM mx_photovote_pictures
WHERE (((rating)>0) AND ((voters)>100) AND ((points)>200) AND ((checked)=1))
GROUP BY uname
ORDER BY ma DESC
LIMIT 10
";
$result = sql_query($qry);
while ($row = sql_fetch_assoc($result)) {
$inwhere[] = "(rating=".$row['ma']." AND uname='".$row['uname']."')";
}
$inwhere = join(' OR ',$inwhere);

$qry = "SELECT *
FROM mx_photovote_pictures
WHERE ".$inwhere."
ORDER BY rating DESC
LIMIT 30
";

$result = sql_query($qry);
while ($row = sql_fetch_assoc($result)) {
/// hier mach halt was draus....
mxDebugFuncVars($row);
}


Die erste ermittelt die höchste Bewertung der einzelnen User.
Username und Bewertung zusammen ergibt die Bedingung für die 2te Abfrage.
Ein Problem besteht, wenn ein User für mehrere Bilder die gleiche Bewertung hat. Diese Bilder werden dann alle angezeigt. Deswegen das Limit von 30. Hier müsste dann noch ein Check rein, ob von dem User bereits ein Bild angezeigt wurde
schön´s Grüssle, Andi

NeMeSiSX2LC

Scheint wohl zu funzen geb nochmal rückmeldung dann. Danke.

die User sehen das eher wenn da was nicht stimmt ;)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Andi

Jo gugg mal :)

hab schon was, was nicht stimmt....

ZitatEntfernung(ca.):    5815.07 KM
Ort:    Paderborn
Bundesland/Land:    Nordrhein-Westfalen
grööööööööhl
schön´s Grüssle, Andi

NeMeSiSX2LC

Das doch bei mir auf der Seite? Das liegt nicht am Script sondern an die Daten in der Geo DB
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

NeMeSiSX2LC

So ok kann man es auch so machen das nur das bild eines User angeziegt wird das das beste rating, meisten votes und meiste punkte hat?
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

NeMeSiSX2LC

Wird das zu aufwendig von der Abfrage her?
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

wob

 :-[ Auch nochmal fragt ob es möglich wäre ...


Mfg Rene
Ideen sind immer gut, nur diese Idee`n umsetzen ist eine andere frage :-)

Andi

Zitat von: NeMeSiSX2LC am 15 Juni 2005, 00:51:44
Höchstes Rating wenn ichs anderst machen will seh ich ja dann wie es geht.

MySQL 4.1.irgendwas
Sorry, aber das istn icht immer so ne Sache von 3 Minuten....
NeMeSiSX2LC, schon selbst ne Lösung probiert?
schön´s Grüssle, Andi

NeMeSiSX2LC

Ja hab ich bekomme aber nur schmoder mit raus ist echt nicht einfach der mist :(
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

NeMeSiSX2LC

He Andi glaub hab einen verdacht test das nachher mal. Sag dann obs so ging. Den man Lehrt ja nie aus ;)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

NeMeSiSX2LC

So scheint es zu gehen:

$qry = "SELECT uname, Max(rating) AS ma, Max(points) AS pa, Max(voters) AS va
FROM mx_photovote_pictures
WHERE (((rating)>0) AND ((voters)>100) AND ((points)>200) AND ((checked)=1) AND ((gender)='".$_REQUEST['cat']."'))
GROUP BY uname
ORDER BY ma DESC, points DESC, voters DESC
LIMIT 10
";
$result = sql_query($qry);
while ($row = sql_fetch_assoc($result)) {

   

$inwhere[] = "(rating=".$row['ma']." AND voters='".$row['va']."' AND points='".$row['pa']."' AND uname='".$row['uname']."')";

   

}
$inwhere = join(' OR ',$inwhere);

$qry = "SELECT *
FROM mx_photovote_pictures
WHERE ".$inwhere."
ORDER BY rating DESC, points DESC, voters DESC
LIMIT 10
";

$result = sql_query($qry);
while ($row = sql_fetch_assoc($result)) {

   

/// hier mach halt was draus....
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

NeMeSiSX2LC

CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Andi

ZitatSo scheint es zu gehen:
was jetzt?
schön´s Grüssle, Andi

NeMeSiSX2LC

Ne ging doch alles wieder nicht Falsche Bilder bei der Bewertun  uswg
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Andi

Toll, ich lege mir in Zukunft die Glaskugel neben den PC....
schön´s Grüssle, Andi