MySQL counter + Problem

oconner

oconner

Aktives Mitglied
Thread Starter
Dabei seit
11.01.2006
Beiträge
281
Reaktionspunkte
0
Hallo macuser!

ich programmiere mir gerade einen MySQL counter dieser vieles zaehlen soll wie z.b. die Hits.

Nur geht das Hits zaehlen irgendwie nicht.

Meine sql variable sieht so aus

PHP:
$sql_count_hits = "UPDATE $counter_table Set counter_hits = '$hits_count' WHERE counter_id = '1'";

und dadurch das hits ja immer gezaehlt werden, muss ich diese funktion ja nicht in eine if abfrage setzen, so sieht das so aus

PHP:
$hits_count = $counter_hits++;
mysql_query ( $sql_count_hits );

die variable $counter_hits enthaelt im script weiter oben die daten aus der Datenbank, die bis jetzt 0 sind, da ja noch nicht gezaehlt wird.

Ich hoffe mir kann jemand helfen.:eek:
 
hast du in deinem Script testweise einfach mal die $counter_hits ausgeben lassen? Wenn die Zahl dort schon nicht erhöht wird, dann ist wohl schon der Query mit der Anzahl der Hits, die anfangs ausgelesen werden, falsch.

Es könnte auch sein, dass die Hitanzahl über die Datenbank als String ausgegeben wird, und du daher nichts addieren kannst.

...und... nur als tip: Schreib anstatt
$sql_count_hits = "UPDATE $counter_table Set counter_hits = '$hits_count' WHERE counter_id = '1'";

um die kompatiblität mit PHP5 zu erhöhen (und weils sauberer is ;)) lieber

$sql_count_hits = "UPDATE ".$counter_table." Set counter_hits = '".$hits_count."' WHERE counter_id = '1'";



Gruß, IndY
 
Zuletzt bearbeitet:
Hit,

ja meine Hits werden ausgegeben. es steht null da, aber es wird nicht erhöt.

meine mysql abfragen mach ich eigentlich immer mit diesen klammern `` so hab ichs gelernt. Habs nur da oben anders, da ich testen wollte obs ohne geht.
 
lass doch die Spalte per SQL sich selbst hochzählen..

UPDATE table SET foo=foo+1
 
Ich weiß nicht, ob du das von der Form her jetz nur so geschrieben hast, aber wenn du den Query zuerst schreibst, dann ++ rechnest und den Query ausführst, gehts ned, weil ja zuerst addiert werden muss. :D
 
@MyIndY jaja. sag mir wie ich es denn sonst machen soll

@Thommy das muesste dann so aussehen oder?

PHP:
$sql_count_hits = "UPDATE $counter_table Set `counter_hits` = '$counter_hits + 1' WHERE `counter_id` = '1'";
mysql_query ( $sql_count_hits ) OR die (mysql_error());
 
Ne, nichts mit PHP Variablen. Hochzählen kann SQL alleine :)

Schaut dann in deinem Fall so aus:

UPDATE $counter_table SET counter_hits = counter_hits + 1 WHERE counter_id = 1

Das betroffene Attribut zählt also den aktuellen Wert um einen hoch. Falls dort 45 gespeichert war, steht nach dem Query 46 dort.
 
danke geht nun!
 
Zurück
Oben Unten