agentxi
Goto Top

Sortierreinfolge speichern

Guten Tag,

Ich möchte die ergebnisse einer suche in der Tabelle speichern.

Konkret sieht das Beispiel bei mir so aus:

$sql_befehl = 'SELECT * FROM `charts` ORDER BY `klicks` DESC';
$result = mysql_db_query("agentxi_de_db", $sql_befehl);
while($row = mysql_fetch_array($result))
{
extract ($row);


$plazierung ++;


$sql_update = "UPDATE charts SET vorwoche='$platzierung', WHERE id='$id'";
$sql_update_send = mysql_db_query("agentxi_de_db", $sql_update);

}

Warum mache ist das ganze ? Ich habe eine Liste mit Zahlen drinne in "klicks" und sortiere die entsprechend so das mit die mit den meisten klicks zuerst angezeigt werden.

Soweit so gut, das funktioniert auch. Nun das Problem:

Ich möchte diese Reinfolge Speichern. Der der die meisten klicks bekomme hatte, bekommt in der spalte "vorwoche" den wert 1, der te eine 2 usw.

Jedoch funktioniert das ganze so nicht wie ich es programmiert habe (siehe oben).

Gibt es eine andere möglichkeit das Problem zu Lösen?
Falls jemand antworten sollte: "Benutz den befehl xy" dann bitte ich um 1-2 Links wo der Befehl und die Syntax erklärt werden.

Dankend

agentxi

Content-ID: 37172

Url: https://administrator.de/contentid/37172

Ausgedruckt am: 15.11.2024 um 09:11 Uhr

GreyFox
GreyFox 03.08.2006 um 15:25:50 Uhr
Goto Top
Der Fehler den du dort gemacht hast ... kann ich dir vermutlich erklären.
dein mysql_db_query liefert dir eine Ressource zurück, ich würde aber vermuten diese Ressource ist nur ein Zeiger auf den Query-Cache des Datenbankservers. Das heißt wenn hier wirklich auf den Query-Cache gedeutet wird, leert jeder Änderungsbefehl den Cache (Weil dieser dann ungültig wird).
Das Bedeutet du musst erstmal alle Zeilen aus der Cache-Ressource in ein Array packen und somit umlagern. Erst dann darfst du die Datenbank per UPDATE aktualisieren!

Probiere das mal aus, ich bin mir zu 60% sicher ^^