problemen met last_visit script
het is als volgt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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>";
}
?>
$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 ?
Gewijzigd op 18/01/2006 21:43:00 door R
en dan met een IF
als gelijk dan nix
anders UPDATE enz
Klaasjan:
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 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:
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
Gewijzigd op 18/01/2006 22:15:00 door R
maak daar eens van
if (mysql_affected_rows() == 0)
SanThe:
if (mysql_affected_rows() == "0")
maak daar eens van
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
$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>";
}
?>
Bij getallen hoe je nooit quotes te gebruiken.