oke mensen ik had een probleem met een last visit script die is nu opgelost maar nu werkt het nog steeds niet goed.....

het is als volgt

<?php
$lastvisit = mysql_query("UPDATE last_visit SET visitdate = NOW() WHERE naam = '". $row['username'] ."' AND visit = '" .$username . "'");

if (mysql_affected_rows() == "0") // checken hoeveel rijen geupdate zijn

{

$lastvisit = mysql_query("INSERT INTO last_visit(naam, visit, visitdate) VALUES ('".$row[username]."', '".$username."', NOW())");

}


$vresult = mysql_query("SELECT visit FROM last_visit WHERE naam='".$row[username]."' ORDER BY visitdate DESC LIMIT 10");
while($vrow = mysql_fetch_array($vresult))
{

$vrow[visit] = substr($vrow[visit], 0, 20).'...';
echo "$vrow[visit]<br>";
}
?>

hij werkt wel MAAR hij maakt nu steeds een nieuwe rij aan in de DB als ik de page refresh

hij hoort eigelijk te checken of jan het profiel van kees heeft bezocht zo ja moet hij dan de DATETIME alleen updaten... maar dat doet hij niet hij maakt elke keer een nieuwe aan

dus na 20 keer refreshen staat er in de dv 20 keer hetzelfde alleen dan met een ander ID en op de page laat hij dan 10 keer de de naam zien

can anybody help ?
ik denk ik eerst met een SELECT checken of de laatst toegevoegde gelijk is aan username

en dan met een IF

als gelijk dan nix
anders UPDATE enz
Klaasjan schreef op 18.01.2006 21:46
ik denk ik eerst met een SELECT checken of de laatst toegevoegde gelijk is aan username

en dan met een IF

als gelijk dan nix
anders UPDATE enz


??????????? en hoe los ik dat op in code ?

begrijp het niet helemaal
Waar komen deze vars vandaan: $row['username'] en $username en wat zit er in?
SanThe schreef op 18.01.2006 22:11
Waar komen deze vars vandaan: $row['username'] en $username en wat zit er in?


$row['username'] komt uit members, dat is de username van de profiel die bezocht wordt (vandaar dat dit de naam is)

$username is de username van de persoon die inlogt op de site deze wordt in een session_register opgeslagen.... (vandaar dat dit de visit is)

hij vult het gewoon goed in hoor in de table last visit zie ik ook als henk zn profiel ga naam=henk en dan ben ik ineglogged onder rza dan zie ik ook visit=rza ... en dan de ID en de date.... probleem is alleen dat hij steeds weer een nieuwe rij aanmaakt :S
if (mysql_affected_rows() == "0")
maak daar eens van
if (mysql_affected_rows() == 0)
SanThe schreef op 18.01.2006 22:23
if (mysql_affected_rows() == "0")
maak daar eens van
if (mysql_affected_rows() == 0)


Whaaa!! het werk!.......

wat vreemd ik dacht dat die " daar niet echt wat zouden uitmaken ?! ...dacht eigelijkd dat het moest met " ...
maar bijv als 1000 members elkaar allemaal gaan bezoeken..... worden het dan niet teveel rijen? of maakt dat allemaal niks uit
ik heb nog wat ' erin geplaatst:

$lastvisit = mysql_query("UPDATE last_visit SET visitdate = NOW() WHERE naam = '". $row['username'] ."' AND visit = '" .$username . "'");

if (mysql_affected_rows() == 0) // checken hoeveel rijen geupdate zijn

{

$lastvisit = mysql_query("INSERT INTO last_visit(naam, visit, visitdate) VALUES ('".$row['username']."', '".$username."', NOW())");

}


$vresult = mysql_query("SELECT visit FROM last_visit WHERE naam='".$row['username']."' ORDER BY visitdate DESC LIMIT 10");
while($vrow = mysql_fetch_array($vresult))
{

$vrow['visit'] = substr($vrow[visit], 0, 20).'...';
echo "$vrow[visit]<br>";
}
?>
@ R

Bij getallen hoe je nooit quotes te gebruiken.

Reageren