hallo mensen
ik heb een bug waar bij er te veel weergaven zijn en maar 1 mysql tabel(regel of zo iets) hoe krijg ik dit weg?

foto:
[img]http://www.freebits.nl/images/401Naamloos.jpg[/img]

mijn script
<? session_start(); include('inc/conn.php');
$sql="SELECT * FROM `users` WHERE `username` = '".$_SESSION['username']."'";
while($row = mysql_fetch_array(mysql_query($sql)))
{
echo'<p>welkom</p><p>munten: '.$row["munten"].'</p><a href="logout.php">log uit</a>';
}
?>
je doorloopt nu met een while() en mysql_fetch_array() ALLE leden met de username die gelijk is aan: $_SESSION['username']

Blijkbaar zijn er gewoon veel dubbelle usernames?
echo eens $sql?
Ga eerst eens je code fatsoeneren:


<?php
$sql="SELECT * FROM `users` WHERE `username` = '".$_SESSION['username']."'";
echo $sql; // debugging...

$result = mysql_query($sql);
if($result){
	while($row = mysql_fetch_array($result)){
    		echo'<p>welkom</p><p>munten: '.$row["munten"].'</p><a href="logout.php">log uit</a>';
	}
} else {
echo "Er is een fout opgetreden: ".mysql_error();
}
?>


Voor het geval van 1 user hoef je geen while() te gebruiken.
ja laat maar gelukt!

[size=xsmall]Toevoeging op 04/10/2011 20:45:14:[/size]

bedankt voor je tip
- Aar - op 04/10/2011 20:33:48

je doorloopt nu met een while() en mysql_fetch_array() ALLE leden met de username die gelijk is aan: $_SESSION['username']


Dat is dus niet waar. Zoals je kunt zien doe je een fetch op het steeds opnieuw uitvoeren van de query. Logisch dat dat slechts telkens hetzelfde eerste record oplevert.
while($row = mysql_fetch_array(mysql_query($sql)))
Dat heb ik niet gezien, doordat ik gelukkig niet zo slordig programmeer.
Als die query nou in een $result var stond, had hij die kunnen gebruiken, en was het wel goed gegaan met 1 record.
- Aar - op 04/10/2011 22:33:20

Dat heb ik niet gezien, doordat ik gelukkig niet zo slordig programmeer.


Inderdaad. Beetje netjes en consequent programmeren voorkomt dit soort foutjes.

Reageren