par
Cyrano » 25 sept. 2011, 00:36
Ok, alors on va détailler un point ou deux :
D'abord, pour te donner une chance de voir directement et rapidement des problèmes dans ton code, prends l'habitude de l'aligner en utilisant une indentation correcte. Là, le dernier code que tu as posté ressemblerait alors à ceci :
include_once 'includes/db.php';
include_once 'includes/session.php';
$id = ($_GET['id']);
$sqlbuddy = mysql_query("SELECT friends FROM users WHERE uid = '" . $uid . "'") or die (mysql_error());
while($row = mysql_fetch_array($sqlbuddy))
{
$friends = unserialize($row["friends"]);
if(isset($friends[0])) {
foreach($friends as $friend => $array )
{
if (isset($friends[$id]) )
{
echo "toto";
}
else
{
echo "tata";
}
}
Or là du coup, on voit immédiatement que deux accolades ne sont pas fermées. Donc second point : sois toujours discipliné et force-toi à toujours prendre certaines habitudes : si tu ouvres une accolade, commence par écrire la fermeture avant même d'ajouter quoi que ce soit d'autre, pareil pour les parenthèses, les guillemets, les balises HTML etc...
Ceci étant dit, il manque quand même un élément à ta question : ça ne marche pas bien, ok, je vais m'en accommoder : mais ce qui manque : qu'est-ce que tu attendais comme résultat, et qu'est-ce que tu as obtenu à la place ( message d'erreur, résultat incohérent, autre..? )
Garde toujours à l'esprit ceci : une question bien posée, c'est un problème bien compris, ça représente les 3/4 de la réponse

Ok, alors on va détailler un point ou deux :
D'abord, pour te donner une chance de voir directement et rapidement des problèmes dans ton code, prends l'habitude de l'aligner en utilisant une indentation correcte. Là, le dernier code que tu as posté ressemblerait alors à ceci :
[php]include_once 'includes/db.php';
include_once 'includes/session.php';
$id = ($_GET['id']);
$sqlbuddy = mysql_query("SELECT friends FROM users WHERE uid = '" . $uid . "'") or die (mysql_error());
while($row = mysql_fetch_array($sqlbuddy))
{
$friends = unserialize($row["friends"]);
if(isset($friends[0])) {
foreach($friends as $friend => $array )
{
if (isset($friends[$id]) )
{
echo "toto";
}
else
{
echo "tata";
}
}[/php]
Or là du coup, on voit immédiatement que deux accolades ne sont pas fermées. Donc second point : sois toujours discipliné et force-toi à toujours prendre certaines habitudes : si tu ouvres une accolade, commence par écrire la fermeture avant même d'ajouter quoi que ce soit d'autre, pareil pour les parenthèses, les guillemets, les balises HTML etc...
Ceci étant dit, il manque quand même un élément à ta question : ça ne marche pas bien, ok, je vais m'en accommoder : mais ce qui manque : qu'est-ce que tu attendais comme résultat, et qu'est-ce que tu as obtenu à la place ( message d'erreur, résultat incohérent, autre..? )
Garde toujours à l'esprit ceci : une question bien posée, c'est un problème bien compris, ça représente les 3/4 de la réponse ;)