Website van streek
Ik heb op mijn website een class die onder andere vrienden toevoegt en verwijderd ect. Dit werkt verder prima, maar hij geeft nog steeds oude vrienden aan.
dit staat in mijn database:
Quote:
1 7 2009-12-24 14:12:26
en op de web pagina:
Quote:
yearupie 2009-12-24 14:13:39
mattiepelzer 0000-00-00 00:00:00
yaya 2009-12-22 22:19:44
mattiepelzer 0000-00-00 00:00:00
yaya 2009-12-22 22:19:44
member naam->id
Quote:
Yearupie id=1
Mattiepelzer id=7
yaya id=4
Mattiepelzer id=7
yaya id=4
Ik heb al geprobeerd mijn cache te legen en ik heb andere web browsers geprobeerd. Toen had ik er genoeg van en heb ik me laptop erbij gepakt. Hij geeft ook nog steeds de oude gebruikers aan.(eerste keer op die pagina met laptop)
Weet iemand hoe ik van dit vervelende probleem af kom?
Misschien een snippet van je code?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = "SELECT * FROM vrienden WHERE user_id1 = ".$gebruiker['id']." OR user_id2 = ".$gebruiker['id'];
foreach($db->dbselect($sql) AS $row){
if($row['user_id1'] == $gebruiker['id']){
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id2']);
}
else{
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id1']);
}
echo "<tr><td>".$vriend['username']."</td><td>".$vriend['last_login']."</td><td><a href='index.php?p=friends&deletefriend=".$vriend['username']."'>Verwijder van vriendenlijst</a></td></tr>";
}
?>
$sql = "SELECT * FROM vrienden WHERE user_id1 = ".$gebruiker['id']." OR user_id2 = ".$gebruiker['id'];
foreach($db->dbselect($sql) AS $row){
if($row['user_id1'] == $gebruiker['id']){
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id2']);
}
else{
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id1']);
}
echo "<tr><td>".$vriend['username']."</td><td>".$vriend['last_login']."</td><td><a href='index.php?p=friends&deletefriend=".$vriend['username']."'>Verwijder van vriendenlijst</a></td></tr>";
}
?>
Hoe verwijder jij een vriend?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
function removefriend($naam){
$naam = $this->check($naam);
$member = $this->dbselect_row("SELECT * FROM members WHERE username=".$naam);
$gebruiker = $this->dbselect("SELECT * FROM members WHERE username='".$_SESSION['username']."'");
if($member >= 1){
$members = $this->dbselect("SELECT * FROM members WHERE username=".$naam);
$this->dbquery("DELETE FROM vrienden WHERE user_id1 = ".$gebruiker['id']." AND user_id2 = ".$members['id']);
echo "<script type=\"text/javascript\">reports('".$this->text->removedfriend."','green');</script>";
}
else{
echo "<script type=\"text/javascript\">reports('".$this->text->usernotfound."','red');</script>";
}
}
?>
function removefriend($naam){
$naam = $this->check($naam);
$member = $this->dbselect_row("SELECT * FROM members WHERE username=".$naam);
$gebruiker = $this->dbselect("SELECT * FROM members WHERE username='".$_SESSION['username']."'");
if($member >= 1){
$members = $this->dbselect("SELECT * FROM members WHERE username=".$naam);
$this->dbquery("DELETE FROM vrienden WHERE user_id1 = ".$gebruiker['id']." AND user_id2 = ".$members['id']);
echo "<script type=\"text/javascript\">reports('".$this->text->removedfriend."','green');</script>";
}
else{
echo "<script type=\"text/javascript\">reports('".$this->text->usernotfound."','red');</script>";
}
}
?>
edit: Als er geen vrienden in de database staan geeft hij weer dat er geen zijn, maar vanaf er 1 is dan geeft hij die 3 weer.
edit2: als er 2 vrienden zijn geeft hij het wel goed weer, maar bij 1 niet.
edit3: Titel klopte dus niet.
oplossing:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
switch($db->dbselect_row($sql)){
case 1:
$row = $db->dbselect($sql);
if($row['user_id1'] == $gebruiker['id']){
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id2']);
}
else{
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id1']);
}
echo "<tr><td>".$vriend['username']."</td><td>".$vriend['last_login']."</td><td><a href='index.php?p=friends&deletefriend=".$vriend['username']."'>Verwijder van vriendenlijst</a></td></tr>";
break;
case ($db->dbselect_row($sql) > 1):
foreach($db->dbselect($sql) AS $row){
if($row['user_id1'] == $gebruiker['id']){
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id2']);
}
else{
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id1']);
}
echo "<tr><td>".$vriend['username']."</td><td>".$vriend['last_login']."</td><td><a href='index.php?p=friends&deletefriend=".$vriend['username']."'>Verwijder van vriendenlijst</a></td></tr>";
}
break;
}
?>
switch($db->dbselect_row($sql)){
case 1:
$row = $db->dbselect($sql);
if($row['user_id1'] == $gebruiker['id']){
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id2']);
}
else{
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id1']);
}
echo "<tr><td>".$vriend['username']."</td><td>".$vriend['last_login']."</td><td><a href='index.php?p=friends&deletefriend=".$vriend['username']."'>Verwijder van vriendenlijst</a></td></tr>";
break;
case ($db->dbselect_row($sql) > 1):
foreach($db->dbselect($sql) AS $row){
if($row['user_id1'] == $gebruiker['id']){
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id2']);
}
else{
$vriend = $db->dbselect("SELECT * FROM members WHERE id = ".$row['user_id1']);
}
echo "<tr><td>".$vriend['username']."</td><td>".$vriend['last_login']."</td><td><a href='index.php?p=friends&deletefriend=".$vriend['username']."'>Verwijder van vriendenlijst</a></td></tr>";
}
break;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Yearupie Achternaamloos
Misschien is het wel niet je code. Mijn server is ook een keer geflipt, cronjobs etc. werken allemaal niet meer, terwijl ze wel ingesteld stonden.
maar mijn code was toch al fout,
omdat als er meer dan 1 regels uit de database komen moet ik hem in een foreach zetten en als het er maar 1 is moet ik hem zonder foreach doen.
Nu ik dit veranderd heb werkt het wel beter, maar geen idee waar die overige namen vandaan kwamen.
foreach()? Waarom niet met while()?