Antworten auf deine Fragen:
Neues Thema erstellen

problem beim sortieren aus der datenbank

Fugel

rebmeM

PSD Beta Team
hallo leute, ich hab da nen kleines problem, ich will eine tot 10 liste von einträgen aus meiner datenbank erstellen und sortieren, die liste soll sich dabei nach den best bewerteten einträgen richten.

die bewertung habe ich dabei auf allen anderen seite so realisiert das in der datenbank eine spalte für die gesamtzahl der bewertungen (also bei einer wertung von 0-5 wird hier jede bewertung auf den zuletzt vorhandenen wert in der db draufgerechnet) und eine spalte die als zähler dient um zu wissen wie viele leute schon eine bewertung abgegeben haben. die prozent der bewertung werden dann durch diese formel ausgerechnet:

$row['wertung'] / $row['counter'] * 100 / 5

das funktioniert wie schon gesagt auch alles wunderbar, nur wie mach ich es bei der top 10 liste, da kann ich doch vorher nicht die prozente ausrechnen!?

im mom mach ich es so:

PHP:
$sql .= "SELECT * FROM filme ORDER BY wertung DESC LIMIT 10";

ich hab halt jetzt bemerkt das ich da nen denkfehler habe und es so falsch ist.

meine frage jetzt, wie bekomm ich es hin das mir eine richtige top10 liste angezeigt wird die nach den prozenten geht ohne das ich die datenbank verändern muss?
 

FredFuchs94

Allrounder...

AW: problem beim sortieren aus der datenbank

Also du könntest mit einer Datenbankabfrage jeden Film aus der Datenbank auslesen und dann die Prozente berechnen, dann schreibst du das in ein Array, wo du hinter dem jeweiligen Prozentwert mit einem weiteren Array die Daten wie Filmname etc. reinpackst. Dann musst du das Array nurnoch am Ende sortieren und fertig.
Das ganze kannst du natürlich auch geordnet in eine DB anstatt eines Arrays schreiben.
 

Duddle

Posting-Frequenz: 14µHz

AW: problem beim sortieren aus der datenbank

Wenn ich dich richtig verstanden habe, willst du sowas:
PHP:
 $sql .= "SELECT ((wertung/counter)*100/5) AS prozent FROM filme ORDER BY prozent DESC LIMIT 10";


Duddle
 

Fugel

rebmeM

PSD Beta Team
AW: problem beim sortieren aus der datenbank

Wenn ich dich richtig verstanden habe, willst du sowas:
PHP:
 $sql .= "SELECT ((wertung/counter)*100/5) AS prozent FROM filme ORDER BY prozent DESC LIMIT 10";
Duddle
hallo und danke erstmal, schaut genau danach aus was ich gesucht habe, nur leider bekomme ich jetzt nur 10 leere zeilen angezeigt. :'(
 

BlackScorp

I Code for Food:D

AW: problem beim sortieren aus der datenbank

also laut der reihenfolge der Ausführung von SELECT , kommt ERST das Order BY und zum schluss SELECT(soweit ich das noch in erinnerung habe). Das problem ist hier das die Query nicht sortieren kann, da es die Prozente nicht kennt. Du Müsstest mal so versuchen:

PHP:
$sql .= "SELECT ((wertung/counter)*100/5) AS prozent 
FROM filme 
ORDER BY ((wertung/counter)*100/5) DESC 
LIMIT 10";

MFG
 

Fugel

rebmeM

PSD Beta Team
AW: problem beim sortieren aus der datenbank

selbes ergebnis, ich bekomme wieder nur 10 leere zeilen angezeigt.
 

Fugel

rebmeM

PSD Beta Team
AW: problem beim sortieren aus der datenbank

evenutell liegts am PHP Code??
das kann man ja raus finden ;)

PHP:
include('xxxxx/db.php');
$sql .= "SELECT ((wertung/counter)*100/5) AS prozent
FROM filme 
ORDER BY ((wertung/counter)*100/5) DESC 
LIMIT 10"; 
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
                    if ($code==0) {$bgc = "#2a2a2a";}
                    if ($code==1) {$bgc = "#343333"; $code=-1;}
                    $wertung = $row['wertung'];
                    echo"<table width=\"100%\" border=\"0\">
  <tr bgcolor=\"".$bgc."\">
    <td width=\"40%\"><a href=\"show.php?id=".$row['id']."\">".$row['film_name']."</a></td>
    <td width=\"20%\">".$row['genre']."</td>
    <td width=\"30%\">".$row['user']."</td>
    <td width=\"10%\">";
    if($row['wertung_z'] < 1){echo"-</td>";}else{if($row['wertung'] < 1){echo"0%</td>";}else{$wertung_z = round($row['wertung'] / $row['wertung_z'] * 100 / 5,0); echo $wertung." %</td>";}}
  echo"</tr>
</table>";
$code++;}
 

BlackScorp

I Code for Food:D

AW: problem beim sortieren aus der datenbank

achso, du willst ja noch weitere sachen augeben außer prozent

schau mal du hast in deiner Query SELECT ...

du rechnest NUR die Prozente aus alles andere wie wert etc hast du garnicht erwähnt in deiner QUery. mach mal folgendes:

PHP:
$sql .= "SELECT *
FROM filme 
ORDER BY ((wertung/counter)*100/5) DESC 
LIMIT 10";
 

Fugel

rebmeM

PSD Beta Team
AW: problem beim sortieren aus der datenbank

achso, du willst ja noch weitere sachen augeben außer prozent

schau mal du hast in deiner Query SELECT ...

du rechnest NUR die Prozente aus alles andere wie wert etc hast du garnicht erwähnt in deiner QUery. mach mal folgendes:

PHP:
$sql .= "SELECT *
FROM filme 
ORDER BY ((wertung/counter)*100/5) DESC 
LIMIT 10";

juhu tausend mal danke, funktioniert jetzt, hab auch grad noch nen kleinen fehler gefunden der jetzt weg ist :D

also danke * 1000 :rolleyes:

schönen tag noch
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.449
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben