For hver gang man går ind på siden skal den give et hits
Hejsa, jeg er ved at lave sådan man kan se hvor mange der har set ens profil, men det vil ikke rigtig du. den udskriver bare "0" på siden.. Her er min kode:
<?php $query = mysql_query("SELECT * FROM profil_hits WHERE ejer = '$_GET[brugernavn]'"); while ($as = mysql_fetch_array($query)){
<?php mysql_query("UPDATE profil_hits SET hits = hits + 1 WHERE ejer = '$_GET[brugernavn]'"); ?>
Synes godt om
Slettet bruger
11. oktober 2004 - 08:19#2
Der er flere væsentlige fejl i din kode:
1) Først læser du, derefter opdaterer du - dvs, du har læst den gamle værdi.
2) Du opdaterer uden en WHERE - dvs. du opdaterer faktisk hele tabellen, ikke kun den ønskede række.
3) Du kører opdateringen inde i en løkke, så potentielt kan du risikere, at der bliver opdateret mere end en gang. (Kommer an på, om det kan lade sig gøre at lave flere brugere med samme navn.)
4) Du slutter php-blokke og starter igen lige efter hinanden
5) Din HTML er ikke god. <font>-taggen er forældet, og du har endda et blanktegn mellem < og font et sted.
Prøv med dette:
<?php
mysql_query("UPDATE profil_hits SET hits = $as[hits]+1 WHERE ejer='{$_GET[brugernavn]}'");
$query = mysql_query("SELECT * FROM profil_hits WHERE ejer = '$_GET[brugernavn]'"); $as = mysql_fetch_array($query);
Så hedder kolonnen i databasen måske noget andet end hits.
Prøv at bede om fejlbeskeder:
mysql_query("UPDATE profil_hits SET hits = $as[hits]+1 WHERE ejer='{$_GET['brugernavn']}'") or die(mysql_error());
$query = mysql_query("SELECT * FROM profil_hits WHERE ejer = '$_GET[brugernavn]'") or die(mysql_error());
Derudover kan det være en ide at se, hvad rækken egentlig indeholder. Prøv at lacve din normale echo-linie om til:
print_r($as);
//echo htmlentities($as['hits']);
(forresten er det ganske overflødigt at køre htmlentities på den værdi, da du jo ved at den enten indeholder et tal eller er tom, og dermed kan den ikke indeholde noget, som htmlentities ville ændre på alligevel.)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.