Erreur IF

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur IF

par 3LpH4Ri0N » 28 janv. 2006, 19:21

ah wééé !!! :oops:

Merci beaucoup @++ all

par Truc » 26 janv. 2006, 00:20

Donc tu n'as pas vraiment besoin d'une 2eme boucle dans ce code puisque la requete sur "lao_teams" ne rapporte que zéro ou un résultat.
$sql2 = "SELECT id,nom FROM lao_teams WHERE id = '".$contenu['id_team']."'";
$req2 = mysql_query($sql2) or die ("Erreur Recupération infos".mysql_error());
   
$num_rows = mysql_num_rows($req2); //compte le nombre de résultats retournés
 
if($num_rows != 0) // si un résultat, donc appartient à une team
{
   $team = mysql_fetch_array ($req2);
   echo "<td class='table_light' width='127'>".$team[nom]."</td>";
}
else //pas de team 
   echo "<td class='table_light' width='127'>Aucun</td>";

par 3LpH4Ri0N » 25 janv. 2006, 20:56

Tu allignes toutes ces cellules sur une seule ligne ?
vu va avoir une sacrée barre de défilement
oui sur une seule ligne ca donne ca :
Pays | Pseudo | Prénom| Equipe | Inscrit le | E-mail | Web
C'est pas si long :)
la valeur par défaut est "" (vide) ou null pour ce champ dans le cas où il n'y a pas de nom ?
Non en fait j'ai dans ma table lao_membre un champ id_team
Si le joueur appartient à une team il y a l'id de celle ci sinon le champ est vide.
Ensuite une fois récupéré ce n° je récupère le nom.
J'ai déja essayé
if ($team['nom'] == '0') 
mais cela n'a rien donné car mon champ est vide à défaut... :roll:
Merci

par Truc » 25 janv. 2006, 20:23

Salut,

avant d'en venir au problème, pour le contexte :wink: , tu pourrai astucieusement remplacer tous ces "ifelse" par un switch()

ou encore encore plus court, renommer les images avec l'intitulé au complet. "Angleterre.gif" au lieu de "uk.gif" qui qui permettrait de remplacer tous ces tests par un affichage simple:
print "<td class='table_light' width='4'><img src='../../_img/_profile/".$contenu['pays'].".gif' alt=".$contenu[pays]." /></td>"; 
Maintenant le problème:

Tu allignes toutes ces cellules sur une seule ligne ?
vu va avoir une sacrée barre de défilement :x

verifi ce test:
if ($team['nom'] == '')
la valeur par défaut est "" (vide) ou null pour ce champ dans le cas où il n'y a pas de nom ?

Erreur IF

par 3LpH4Ri0N » 25 janv. 2006, 20:12

Bonsoir, voici mon code :
 <?
$sql = "SELECT * FROM lao_membre";
$req = mysql_query($sql) or die ("Erreur Recupération infos".mysql_error());
while($contenu = mysql_fetch_array ($req))
{
echo "<tr>";
echo "<td height='17' class='table_light' width='18'>&nbsp;</td>";
if ($contenu[pays] == 'France')
{
	print "<td class='table_light' width='4'><img src='../../_img/_profile/fr.gif'></td>";
	}
	else if ($contenu[pays] == 'Angleterre')
	{
	print "<td class='table_light' width='4'><img src='../../_img/_profile/uk.gif'></td>";
	}
	else if ($contenu[pays] == 'Belgique')
	{
	print "<td class='table_light' width='4'><img src='../../_img/_profile/be.gif'></td>";
	}
	else if ($contenu[pays] == 'Allemagne')
	{
	print "<td class='table_light' width='4'><img src='../../_img/_profile/de.gif'></td>";
	}
	else if ($contenu[pays] == 'Suisse')
	{
	print "<td class='table_light' width='4'><img src='../../_img/_profile/ch.gif'></td>";
	}
	else if ($contenu[pays] == 'Espagne')
	{
	print "<td class='table_light' width='4'><img src='../../_img/_profile/es.gif'></td>";
	}
	else
	{
	print "<td class='table_light' width='4'></td>";
	}
echo "<td class='table_light' width='123'><a href='index.php?p=joueur_detail&id=$contenu[id]'>".$contenu[pseudo]."</a></td>";
echo "<td class='table_light' width='120'>".$contenu[prenom]."</td>";
//
	$sql2 = "SELECT id,nom FROM lao_teams WHERE id = '".$contenu['id_team']."'";
	$req2 = mysql_query($sql2) or die ("Erreur Recupération infos".mysql_error());
	while($team = mysql_fetch_array ($req2)) {
		if ($team[nom] == '') {
		echo "<td class='table_light' width='127'>Aucun</td>";
		}
		else {
		echo "<td class='table_light' width='127'>".$team[nom]."</td>";
		}
	}
//
echo "<td class='table_light' width='97'>1er Janvier 2006</td>";
echo "<td class='table_light' width='47'><a href='mailto:$contenu[email]'><img src='_img/_mini/outlook.gif' width='15' heigh='15' border='0'></a></td>";
echo "<td class='table_light' width='11'><a href='http://$contenu[web]'><img src='_img/_mini/ie.gif' border='0'></a></td>";
echo "<td class='table_light' width='9'></td>";
}
?>
JE vous l'ai donné en entier pour le contexte :)

Voici la ligne qui plante :
//
	$sql2 = "SELECT id,nom FROM lao_teams WHERE id = '".$contenu['id_team']."'";
	$req2 = mysql_query($sql2) or die ("Erreur Recupération infos".mysql_error());
	while($team = mysql_fetch_array ($req2)) {
		if ($team[nom] == '') {
		echo "<td class='table_light' width='127'>Aucun</td>";
		}
		else {
		echo "<td class='table_light' width='127'>".$team[nom]."</td>";
		}
	}
//
Lorque j'ai une équipe il me l'affiche bien, seulement lorsque je n'en ai pas, il me supprime ma colonne et décale toutes mes données à gauche.
J'ai déja essayé d'afficher "Aucun" si pas de team ou d'utiliser isset ou empty
IMPOSSIBLE... :cry:
Si quelqu'un a une idée de pourquoi cela plante :D

MErci à tous...