Problème affichage conditionnel d'une requête sql [Résolu]

Signaler
Messages postés
29
Date d'inscription
mardi 16 septembre 2008
Statut
Membre
Dernière intervention
4 novembre 2010
-
xxiv
Messages postés
29
Date d'inscription
mardi 16 septembre 2008
Statut
Membre
Dernière intervention
4 novembre 2010
-
Bonjour à tous,

Je vous expose ce qui devrais se passer.

Les personnes inscrites peuvent choisir que leur nom et prénom apparaissent ou non.
Mais si ils ont laissé un commentaire il apparait quand même; si non visible et pas de commentaire ne pas afficher.

Mais je n'ai que ceux qui ne sont pas visible et avec un commentaire qui apparaissent aucun autre.

Merci d'avance de votre aide
// Creation et envoi de la requete
$query = "SELECT id,nom,prenom,comm,visible FROM form ORDER BY id  DESC";

$result = mysql_query($query);

// Recuperation des resultats
while($row = mysql_fetch_row($result)){
$id = $row[0];

$nom = $row[1];

$prenom = $row[2];

$commentaire = nl2br($row[3]);

$visible = $row[4];

// Si strictement visible afficher $id $nom $prenom $commentaire
if($vissible== o)  
{echo "<tr>
<td>$id&amp;nbsp;&amp;nbsp;$nom&amp;nbsp;$prenom
</td>
<td>$commentaire

</td>
</tr>";}

// Sinon si strictement non visible et commentaire strictement different de null afficher $id $commentaire
elseif($visible==n &amp;&amp; $commentaire!=NULL) 
    { 
    echo "<tr>
    <td>$id
</td>
    <td>$commentaire

</td>
    </tr>";
    }

//Dans tout les autres cas ne rien afficher    
else{
echo "RIEN!!!";

}

}

9 réponses

Messages postés
75
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
14 janvier 2009
25
Salut,

Au moins deux problèmes :

if($vissible= = o)

et
elseif($visiblen && $commentaire!NULL)

C'est quoi 'n' ?
Messages postés
75
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
14 janvier 2009
25
$i = 0;

while($row = mysql_fetch_row($result)) {
  $id = $row[0];
  $nom = $row[1];
  $prenom = $row[2];
  $commentaire = nl2br($row[3]);
  $visible = $row[4];

  $i++;  $color ($i%2 0) ? "color1" : "color2";

  if($visible == o) {
    echo "<tr class="$color">
          <td>$id&nbsp;&nbsp;$nom&nbsp;$prenom
</td>
          <td>$commentaire

</td>
          </tr>";
    }
  elseif($visible == n && $commentaire != NULL) {
    echo "<tr class="$color">
          <td>$id
</td>
          <td>$commentaire

</td>
          </tr>";
  }   
  else {
    echo "RIEN!!!";
    $i--;
  }
}

à tester...
Messages postés
29
Date d'inscription
mardi 16 septembre 2008
Statut
Membre
Dernière intervention
4 novembre 2010

Merci je n'avais aps vu mon S de trop.
Sinon le "n" non visible et "o" oui visible
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
Un tiny int de 1 aurait suffit di diou !Oui ou Non 1 ou 0 booléen ^_^

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
Messages postés
75
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
14 janvier 2009
25
Ce que voulais dire, c'est qu'à moins qu'il y est un define ailleurs dans le code, ce n tout seul (et pas $n ou "n") me paraît foireux...
Messages postés
29
Date d'inscription
mardi 16 septembre 2008
Statut
Membre
Dernière intervention
4 novembre 2010

Dans ma table Sql le champ "visible" est de type "SET" avec les valeurs " 'o','n' "

Sinon au passage une idée pour les faire apparaitre dans des "boites" de la largeur de la page avec un font de couleur différent une fois sur deux?
Messages postés
75
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
14 janvier 2009
25
$i = 0;

while($row = mysql_fetch_row($result)) {
  if($i % 2 == 0) echo '<tr class="color1">...</tr>';
  else echo '<tr class="color2">...</tr>';
  $i++;
}
Messages postés
29
Date d'inscription
mardi 16 septembre 2008
Statut
Membre
Dernière intervention
4 novembre 2010

Merci beaucoup,
je vais peut-être exagérer, mais je ne vois pas comment l'intégrer dans mon code vu les conditions existantes
Messages postés
29
Date d'inscription
mardi 16 septembre 2008
Statut
Membre
Dernière intervention
4 novembre 2010

ça marche!!
Theguitou  encore un tout grand merci à toi [javascript:Insert_Emoticon('/imgs2/smile_tongue.gif'); ]

XXIV