agentxi
Goto Top

Tabelleninhalt addieren

Auslesen, addieren und speichern ?

Guten Tag,

da es mein erster Post ist, möchte ich auch nicht lange um den heißen Brei rumreden.

Ich übergebe eine ID mit der GET Methode. In der Zeile wo die ID übereinstimmt, möchte ich den Wert von "klicks" um eins Addieren und dann anschließend gleich wieder speichern.

Ist es erforderlich den Wert auszulesen, dann zu addieren und dann wieder mittels UPDATE Neu zu speichern oder geht es direkt?

Dachte da an:


if (isset($_GET["vote"]))
{

$vote = "UPDATE 'klicks' +1 FROM charts WHERE id='$vote'";
$result = mysql_db_query("$db", $vote);

}

Jedoch scheint es so nicht zu funktionieren face-smile

ich persönlich finde es etwas zu belastend für den Server wenn ich permanent auslesen, addieren und neu schreiben muss. Das Script soll möglichst wenig CPU Zeit beanspruchen. (Es wird noch komplexer - keine Angst face-smile )

Content-Key: 36327

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

Printed on: April 20, 2024 at 00:04 o'clock

Member: Guenni
Guenni Jul 19, 2006 at 20:04:30 (UTC)
Goto Top
@agentxi

Hi,

update tabelle set spalte=spalte +1 where id=vergleichswert

Gruß
Günni
Member: agentxi
agentxi Jul 20, 2006 at 12:57:08 (UTC)
Goto Top
Dankeschön. Funktioniert Prima face-smile

und wie könnte ich alle Tabellenwerte verschieben ?

Ich bin dabei ein Chartssript zu basteln, für Musik. Einmal Pro Woche möchte ich dann über cronlab die Aktuelle Plazierung nach "vorwoche" kopieren und die Aktuelle Plazierung leeren.

|ID|Plazierung|Vorwoche|
0 1 0
1 2 0
...
=>

0 0 1
1 0 2
...

Das was mir schwierigkeiten bereitet ist das kopieren *g*

Dankend'

agentxi
Member: Guenni
Guenni Jul 20, 2006 at 19:55:11 (UTC)
Goto Top
@agentxi

Hi,

Kopieren der Daten in eine neue Tabelle:

create table neu select * from alt;

Löschen der Daten in der alten Tabelle:

delete from alt;

Gruß
Günni
Member: Biber
Biber Jul 20, 2006 at 20:13:29 (UTC)
Goto Top
Moin agentxi,

ich denke, so ganz abstrakt kommen wir nicht weiter.
Ein bisschen Deiner (entstehenden? vorhandenen?) Tabellenstruktur könntest Du schon offenlegen.
Zum Beispiel die Woche/Vorwoche - wie hast Du das in Deinem Modell abgebildet... als Datum oder gar nicht oder als Integer.. wie hängen die Tabellen zusammen?
Werde die Hits weiter zusammengefasst zu TopTen des Jahres oder nach Ablauf der aktuellen Woche gelöscht?
Immer neugierig
Biber
Member: agentxi
agentxi Jul 21, 2006 at 12:11:53 (UTC)
Goto Top
Meine Tabellenstruckstur war oben fast bereits komplett *g*

ID | Interpret | Titel | klicks | Vorwoche

Pro Klick afu "vote" wird der Wert um 1 erhöht:

$vote = "UPDATE charts set klicks=klicks +1 where id='$id'";


und dann später wird das ganze so aus der DB gelesen:

$sql_befehl = 'SELECT * FROM `charts` ORDER BY `klicks` DESC LIMIT 0, 30';

Limit hab ich drinne da ich nur die Top 30 Angezeigt bekommen möchte.


Nunja, und einmal Pro woche möchte ich diese Klicks komplett auswerten und die daraus resultierende Plazierung nach "Vorwoche" Verschieben.

Sprich: Die Charts werden einmal pro Woche zurückgesetzt.


Hoffe jetzt ist es etwas ausführlicher.

Trotzdem danke für die jetzigen Antworten face-smile