Autor |
Nachricht |
kronk
Threadersteller
Dabei seit: 10.02.2003
Ort: Legoland
Alter: -
Geschlecht:
|
Verfasst Mo 05.07.2004 08:41
Titel [php/mysql] top 10 anzeigen lassen |
|
|
morgen,
ich habe eine reihe von bildern in einer datenbank, die von seitenbesuchern bewertet werden können. ich speicher also die anzahl aller bewertungen in ein feld und die summe aller bewertungen in ein weiteres feld des db.
wie kann ich nun die top 10 der bilder anzeigen lassen? also die bilder mit dem höchsten durchschnitt? kann ich die db-abfrage irgendwie nach dem quotienten aus zwei feldern sortieren lassen?
oder muss ich ein drittes feld anlegen, indem ich den durchschnittswert speichere, der nach eintragen, wiederauslesen und neuberechnen der beiden anderen werte, herauskommt?
ich habe gerade einen knoten im gerhirn! wer hat den entscheidenden (theoretischen) hinweis für mich?
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Mo 05.07.2004 08:55
Titel
|
|
|
Beitrag gelöscht.
|
|
|
|
|
Anzeige
|
|
|
kronk
Threadersteller
Dabei seit: 10.02.2003
Ort: Legoland
Alter: -
Geschlecht:
|
Verfasst Mo 05.07.2004 09:04
Titel
|
|
|
ich möchte nicht nach hits sortieren, sondern dem durchschnitt
1. 10 hits, 40 punkte -> schnitt 4,0
2. 12 hits, 24 punkte -> schnitt 2,0
3. 20 hits, 20 punkte -> schnitt 1,0
...
Zuletzt bearbeitet von kronk am Mo 05.07.2004 09:32, insgesamt 1-mal bearbeitet
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Mo 05.07.2004 09:36
Titel
|
|
|
Beitrag gelöscht.
|
|
|
|
|
kronk
Threadersteller
Dabei seit: 10.02.2003
Ort: Legoland
Alter: -
Geschlecht:
|
Verfasst Mo 05.07.2004 09:39
Titel
|
|
|
wie lautet die syntax dafür? gibt es sowas wie 'ORDER BY (punkte/hits)'?
|
|
|
|
|
Waschbequen
Account gelöscht
Ort: -
|
Verfasst Mo 05.07.2004 09:42
Titel
|
|
|
Beispiel:
Code: | SELECT TOP 10 *
FROM [
SELECT Livecams.*, (Livecams.cam_summevotes/Livecams.cam_anzahlvotes) AS points
FROM Livecams
WHERE Livecams.cam_anzahlvotes>0 AND Livecams.cam_anzahlvotes>=10 AND Livecams.cam_status=1 ORDER BY Livecams.cam_klicks
]. AS tmp_table
ORDER BY tmp_table.points DESC; |
Aber keine Garantie, dass das auch in MySQL funktioniert...
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 05.07.2004 09:52
Titel
|
|
|
ich würd's mal mit
ORDER BY `punkte`/`hits` DESC
probieren
Zuletzt bearbeitet von dastef am Mo 05.07.2004 09:53, insgesamt 1-mal bearbeitet
|
|
|
|
|
mad3000
Dabei seit: 24.03.2003
Ort: Schwobaländle
Alter: 44
Geschlecht:
|
Verfasst Mo 05.07.2004 09:52
Titel
|
|
|
lad Dir doch bei nem einschlägigem Scriptarchiv, irgendein Poll-Script runter und analysier dieses mal wie es dort gelöst ist...hier mal ein Link... http://www.link-park.de/download-center/down.php?fileid=2
hab da auch mal reingeschaut und mit diesem Schnipsel kannst bestimmt schon mehr anfangen:
Code: |
$result = mysql_query("select * from $tabledaten where pollid='$pollid' order by hits desc");
while($row=mysql_fetch_array($result)) {
$value=$row["value"];
$hits =$row["hits"];
if ($gesamt_hits[0]>0) {
$prozent = (int) ($hits / $gesamt_hits[0] * 100);
$breite = intval($pollbreite*$prozent/100);
$breiter = $pollbreite-$breite-2;
} else {
$prozent = 0;
$breite = 0;
$breiter = $pollbreite-2;
}
| [/code]
|
|
|
|
|
|
|
|
Ähnliche Themen |
PHP,MYSQL --> DESCRIBE (infos über tabelle anzeigen lasse
[PHP / MySQL] Datensätze anzeigen ohne "Doppelte"
[PHP + mySQL] Kann Fehler in einer mySQL-Phrase nicht finden
[PHP/MySQL] MySQL Error: 1054, falsche Tabelle ausgewählt?
[MySql]Lost connection to MySQL server during query
[PHP / MySQL] MySQL-Funktion gesucht: letzteÄnderungTabelle
|
|