2010-03-19 3 views
0

J'ai une vue en boucle dans une boucle while, où un utilisateur peut voir des informations sur les livres.PHP IF déclaration ne prenant pas de variable en compte!

Par exemple, ISBN du livre, le nom du livre, lire l'état ...

En fait, lorsque l'utilisateur définit leur « readstatus » à « complète » Je veux que la ligne de table spécifique pour devenir gris! La logique est très simple, mais je ne peux pas obtenir mon instruction IF de reconnaître ceci:

if ($readstatus == 'complete') { 
         echo '<tr class="completed">'; 
       } 

        else if ($readstatus != 'complete') { 
         echo '<tr class="reading">'; 
       } 

Je suis évidemment quelque chose de mal ici, le contenu de la table pour changer si la valeur de « readstatus » = « complète », sinon, la sortie est la valeur par défaut

+0

Ceci ne répond pas à la question, mais vous faites tout aussi bien 'if (a) {...} else {...}', sans le test qui devrait évidemment renvoyer true. – xtofl

+0

Avez-vous votre 's' sdtatement à l'intérieur de la boucle ou, comme indiqué ci-dessus, juste sous' $ readstatus = $ _GET ['readstatus']; '? –

+0

L'instruction 'if' doit au moins entrer l'une des clauses; lequel entre-t-il? – xtofl

Répondre

1

Pourquoi utilisez-vous $_GET? Cette information provient-elle d'un formulaire HTML ou d'une URL etc ...? Je suppose que vous vouliez changer $readstatus = $_GET['readstatus']; en $readstatus = $row['readstatus'];.

$_GET est une gamme de paramètres GET provenant du query string.

$row est une ligne dans votre base de données, si les informations sont dans la base de données - que je soupçonne qu'il est - vous voulez utiliser $row au lieu de $_GET.

+0

Merci pour cela: D – Jess

1

Essayez de changer $readstatus = $_GET['readstatus']; à $readstatus = $row['readstatus'];

+0

Merci pour votre aide: D – Jess

0

La fonction $ _GET repose sur la valeur contenue dans la chaîne de requête de l'URL et n'a rien à voir avec la base de données. J'ai l'impression que vous essayez d'obtenir la valeur de la base de données ici et que vous utilisez la mauvaise fonction pour le faire.

+0

' $ _GET' n'est pas une fonction cependant;) –

0

$_GET['readstatus'] indique que la valeur provient du navigateur. $row['readstatus'] indique que la valeur provient de la base de données.

Vous devez décider lequel doit avoir préséance - probablement le $ _GET ['readstatus'] `parce que c'est ce que l'utilisateur veut changer. Si c'est le cas, vous devez mettre à jour votre base de données avec le nouveau readstatus avant d'actualiser la base de données pour l'ensemble de données.

Questions connexes