[RESOLU] Condition IF pour afficher une ligne d'une table

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 : [RESOLU] Condition IF pour afficher une ligne d'une table

Re: Condition IF pour afficher une ligne d'une table

par JAG11 » 02 avr. 2021, 20:16

Merci à tous, désolé cela a bien été laborieux mais je vous remercie de votre aide précieuse.

Voici le code qui marche

Code : Tout sélectionner

<?php $federe = $produit['Federe']; if ($federe == "Oui") { ?> <td><a class=" btn btn-warning btn-sm" role="button" href="Nonfedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Non</a></td>; <?php } $federe = $produit['Federe']; if ($federe == "Non") { ?> <td><a class=" btn btn-warning btn-sm" role="button" href="Ouifedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Oui</a></td> <?php } ?> <td><a class=" btn btn-warning btn-sm" role="button" href="edit.php?Id_Assos=<?= $produit['Id_Assos']; ?>"><i class="far fa-edit"></i> Modifier</a></td> <td><a class="btn btn-danger btn-sm" role="button" href="delete.php?Id_Assos= <?= $produit['Id_Assos']; ?>"><i class="far fa-trash-alt"></i>Supprimer</a></td>

Re: Condition IF pour afficher une ligne d'une table

par or 1 » 02 avr. 2021, 20:01

Je n'ai plus de message d'erreur mais l'affichage des deux boutons à chaque ligne quelque soit la valeur de ma variable !!!
toujours lire les messages de ryle.

Re: Condition IF pour afficher une ligne d'une table

par JAG11 » 02 avr. 2021, 19:54

J'ai gros problème de compréhension.

Vous écrivez
if ($federe='Oui'){
?>
je dois bien fermé l'accolade quelque part?

J'ai donc réécris comme suit:

Code : Tout sélectionner

<?php foreach ($result as $produit) { ?> <tr> <td><?php echo $produit['Id_Assos']; ?></td> <td><?php echo "<img src='" . $produit['Logo_Reduit'] . "' />"; ?></td> <td><?php echo $produit['Federe']; ?></td> <td><?php echo $produit['Nom_Assos']; ?></td> <td><?php echo $produit['Nom_Court']; ?></td> <td><?php echo $produit['Email']; ?></td> <td><?php echo $produit['Telephone']; ?></td> <?php $federe = $produit['Federe']; if ($federe = "Oui") { ?> <td><a class=" btn btn-warning btn-sm" role="button" href="Nonfedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Non</a></td>; <?php } $federe = $produit['Federe']; if ($federe = "Non") { ?> <td><a class=" btn btn-warning btn-sm" role="button" href="Ouifedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Oui</a></td> <?php } ?> <td><a class=" btn btn-warning btn-sm" role="button" href="edit.php?Id_Assos=<?= $produit['Id_Assos']; ?>"><i class="far fa-edit"></i> Modifier</a></td> <td><a class="btn btn-danger btn-sm" role="button" href="delete.php?Id_Assos= <?= $produit['Id_Assos']; ?>"><i class="far fa-trash-alt"></i>Supprimer</a></td> </tr> <?php } ?>
Je n'ai plus de message d'erreur mais l'affichage des deux boutons à chaque ligne quelque soit la valeur de ma variable !!!

Re: Condition IF pour afficher une ligne d'une table

par or 1 » 02 avr. 2021, 19:25

si vous n'ajoutiez pas un problème quand vous en régliez un autre, cela finira par marcher.

avec
$federe=$produit['Federe'];
if ($federe='Oui'){
?>
<td><a class=" btn btn-warning btn-sm" role="button" href="Nonfedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Non</a></td>;

pas de Parse error: syntax error, unexpected '<' in E:\FFMO\F_Entite\index.php

Re: Condition IF pour afficher une ligne d'une table

par JAG11 » 02 avr. 2021, 19:22

????

Code : Tout sélectionner

<?php $federe=$produit['Federe']; if ($federe='Oui'){ <td><a class=" btn btn-warning btn-sm" role="button" href="Nonfedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Non</a></td>; } ?> <?php if ($federe='Non'){ <td><a class=" btn btn-warning btn-sm" role="button" href="Ouifedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Oui</a></td> } ?>
Ca me renvoi l'erreur.
Parse error: syntax error, unexpected '<' in E:\FFMO\F_Entite\index.php on line 67
La ligne 67 étant mon premier td qui se retrouve dans du PHP au lieu d'être dans le HTML!!:
Je ne comprends plus?

Re: Condition IF pour afficher une ligne d'une table

par or 1 » 02 avr. 2021, 19:08

la bonne syntaxe, c'est
if(){
...
}
pas
if(){
...

Re: Condition IF pour afficher une ligne d'une table

par JAG11 » 02 avr. 2021, 18:58

Ça ne marche pas non plus

Code : Tout sélectionner

<?php $federe=$produit['Federe']; if ($federe='Oui'){ ?> <td><a class=" btn btn-warning btn-sm" role="button" href="Nonfedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Non</a></td>; <?php if ($federe='Non'){ ?> <td><a class=" btn btn-warning btn-sm" role="button" href="Ouifedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Oui</a></td> <?php } ?>
Cela me renvoi l'erreur sur la dernière ligne de mon code!!!!

Code : Tout sélectionner

<?php //Scrypt, Fin du BODY, FIn du HtML include("../Include/ScriptJS.html"); ?>
Parse error: syntax error, unexpected end of file in E:\FFMO\F_Entite\index.php on line 107

Re: Condition IF pour afficher une ligne d'une table

par Ryle » 02 avr. 2021, 18:35

Comme indiqué ci-dessous (mais je suppose que nos réponses se sont croisées), tu est bien parti pour le faire... le problème c'est que php connait les variables (qui commencent pas $) et les chaines de caractères (qui sont délimitées par des apostrophes ou des guillemets)

Dans ton code, les Oui et Non, en l'état, ne rentrent dans aucune de ces deux catégories, ce qui doit donc générer un message d'erreur pour t'en informer et te permettre de faire le nécessaire pour l'inclure dans l'une ou l'autre des catégories en fonction de ton besoin ;)

Re: Condition IF pour afficher une ligne d'une table

par JAG11 » 02 avr. 2021, 18:29

J'ai ce code pour des cards bootstrap et ça marche je voudrai faire la même chose dans une table.

Code : Tout sélectionner

<?php if (isset($donnees['Email']) && !empty($donnees['Email'])) { ?> <a href="mailto:<?php echo $donnees['Email']; ?>" target="_blank"><i class="fas fa-at"></i></a> <?php } ?>

Re: Condition IF pour afficher une ligne d'une table

par Ryle » 02 avr. 2021, 18:28

Le message d'erreur " Parse error: syntax error, unexpected '<' in E:\FFMO\F_Entite\index.php on line 66 " indique que php trouve un caractère < à la ligne 66 alors qu'il ne s'attends pas du tout à tomber sur ce genre de chose.

Comme tu l'indiques, cela correspond à ton premier <td> qui est du code html et qui n'a donc rien à faire au milieu du code exécuté par php. php gère ce qui est déclaré entre <?php ?> et ton second code est donc mieux. Le message d'erreur que tu obtiens à d'ailleurs changé et doit sans doute te dire que Oui n'est pas une constante, ou une variable ou un truc du genre et qu'il est donc incapable de coller cette "chose" qu'il ne comprend pas dans ta variable $federe ;)

(A noter au passage une fois cette erreur résolue, que l'opérateur "=" affecte une valeur à une variable et que pour comparer on utilise l'opérateur "==" ;))

Re: Condition IF pour afficher une ligne d'une table

par JAG11 » 02 avr. 2021, 15:53

J'ai essayé ça aussi

Code : Tout sélectionner

<?php $federe=$produit['Federe']; if ($federe=Oui){ ?> <td><a class=" btn btn-warning btn-sm" role="button" href="Nonfedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Non</a></td>; <?php if ($federe=Non){ ?> <td><a class=" btn btn-warning btn-sm" role="button" href="Ouifedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Oui</a></td> <?php } ?>

Re: Condition IF pour afficher une ligne d'une table

par or 1 » 02 avr. 2021, 13:17

<?php
$federe=$produit['Federe'];

tout ce qui suit avant la fermeture du php est donc du php.

cette ligne doit être du php :
if ($federe=Oui){
et c'est le cas.

cette ligne doit être du php :
<td><a class=" btn btn-warning btn-sm" role="button" href="Nonfedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Non</a></td>;

ce code ferme du php pour rouvrir du php afin de cloturer le } :
?>
<?php
}
?>

Condition IF pour afficher une ligne d'une table

par JAG11 » 02 avr. 2021, 12:54

Bonjour

j'ai une datatable

Code : Tout sélectionner

<table id='tab' class='display compact table-responsive'> <thead> <tr class="table-secondary text-dark"> <th width="1%">id</th> <th width="1%">Logo</th> <th width="1%">Fédérée</th> <th width="30%">Nom long</th> <th width="1%">Abréviation</th> <th width="5%">Email</th> <th width="1%">Téléphone</th> <th width="2%">Actions</th> <th width="2%"></th> </tr> </thead> <tboby> <?php foreach ($result as $produit) { ?> <tr> <td><?php echo $produit['Id_Assos']; ?></td> <td><?php echo "<img src='" . $produit['Logo_Reduit'] . "' />"; ?></td> <td><?php echo $produit['Federe']; ?></td> <td><?php echo $produit['Nom_Assos']; ?></td> <td><?php echo $produit['Nom_Court']; ?></td> <td><?php echo $produit['Email']; ?></td> <td><?php echo $produit['Telephone']; ?></td> <?php $federe=$produit['Federe']; if ($federe=Oui){ <td><a class=" btn btn-warning btn-sm" role="button" href="Nonfedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Non</a></td>; elseif <td><a class=" btn btn-warning btn-sm" role="button" href="Ouifedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Oui</a></td> ?> <?php } ?> <td><a class=" btn btn-warning btn-sm" role="button" href="edit.php?Id_Assos=<?= $produit['Id_Assos']; ?>"><i class="far fa-edit"></i> Modifier</a></td> <td><a class="btn btn-danger btn-sm" role="button" href="delete.php?Id_Assos= <?= $produit['Id_Assos']; ?>"><i class="far fa-trash-alt"></i>Supprimer</a></td> </tr> <?php } ?> </tboby> <tfoot> <tr class="table-secondary text-dark"> <th width="1%">id</th> <th width="1%">Logo</th> <th width="1%">Fédérée</th> <th width="30%">Nom long</th> <th width="1%">Abréviation</th> <th width="5%">Email</th> <th width="1%">Téléphone</th> <th width="2%">Actions</th> <th width="2%"></th> </tr> </tfoot> </table>
Pour chaque enregistrement de ma table j'ai une colonne contenant des boutons permettant la modification ou la suppression.

J'aurai aimé ajouter un troisième bouton mais sous condition d'une valeur passé par une variable.

Code : Tout sélectionner

<?php $federe=$produit['Federe']; if ($federe=Oui){ <td><a class=" btn btn-warning btn-sm" role="button" href="Nonfedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Non</a></td>; elseif <td><a class=" btn btn-warning btn-sm" role="button" href="Ouifedere.php?Id_Assos=<?= $produit['Id_Assos']; ?>"> Fédéré=Oui</a></td> ?> <?php } ?>
Mais cela ne marche pas. Pouvez vous m'éclairer? Merci

j'ai une erreur
Parse error: syntax error, unexpected '<' in E:\FFMO\F_Entite\index.php on line 66
qui correspond à la ligne de mon premier <td> dans la condition IF