Affichage bdd
Résolu
lolerki
Messages postés
675
Statut
Membre
-
lolerki Messages postés 675 Statut Membre -
lolerki Messages postés 675 Statut Membre -
Bonjour/Bonsoir,
Je viens vers vous car je coince au niveau de mon code php. Je suis entrain de développer une administration (je débute) et je voudrais lister les commentaires des articles. Sauf que voilà absolument rien ne s'affiche, j'ai beau me réfléchir je ne trouve pas la coquille.
Le code en question :
Merci de votre aide !
PS : je ne rentre même pas dans mon else if pourtant je ne vois pas de probleme dans mon lien :
Je viens vers vous car je coince au niveau de mon code php. Je suis entrain de développer une administration (je débute) et je voudrais lister les commentaires des articles. Sauf que voilà absolument rien ne s'affiche, j'ai beau me réfléchir je ne trouve pas la coquille.
Le code en question :
else if(isset($_GET['action']) == 'gestionc'){ //si action=gestionc (gestion culture)
$commentaire = $bdd->prepare("SELECT * FROM commentaire WHERE id_article = ?"); //req
$commentaire->execute(array($_GET['id']));
while($gestionC = $commentaire->fetch()) // on affiche les informations
{
?>
<div id="commentaire">
<p style="color:#585858"><b><?php echo $gestionC['auteur']; ?></b> | Le <?php echo $gestionC['date']; ?>
<a href="index.php?page=com_article&id_com=<?php echo $gestionC['id_com']; ?>&action=supprimer" onClick="return confirm('Etes vous sur de vouloir supprimer le commentaire de <?php echo $gestionC['auteur']; ?>?');">
<img src="img/delete.png" title="Supprimer" align="right"/></a>
<a href="index.php?page=com_article&id_com=<?php echo $gestionC['id_com']; ?>&action=modifier">
<img src="img/edit.png" title="Editer" align="right"/></a>
<p><?php echo $gestionC['contenu']; ?></p>
</div>
<?php
} // while gestionC
} // get gestionc
Merci de votre aide !
PS : je ne rentre même pas dans mon else if pourtant je ne vois pas de probleme dans mon lien :
<a href="index.php?page=AdministrationCommentaire&id=<?php echo $info_cult['id']; ?>&action=gestionc"><?php echo $info_cult['titre']; ?></a>
4 réponses
Bonjour,
Le plus simple est déjà de faire un print de tes variables pour savoir ce qu'elles contiennent...
De plus.. on ne sais pas ce que tu as avant ton Elseif le souci est peut être là....
Le plus simple est déjà de faire un print de tes variables pour savoir ce qu'elles contiennent...
//A placer avant ton IF print_r($_GET);
De plus.. on ne sais pas ce que tu as avant ton Elseif le souci est peut être là....
bonsoir,
j'ai une erreur je n'ai jamais utiliser print_r alors je ne sais pas si c'est de mois ou pas :Parse error: syntax error, unexpected 'else' (T_ELSE)
voici le code compléte :
PS : les commentaires des articles s'affiche bien, mais pas ceux du point culture
Merci
j'ai une erreur je n'ai jamais utiliser print_r alors je ne sais pas si c'est de mois ou pas :Parse error: syntax error, unexpected 'else' (T_ELSE)
voici le code compléte :
<h3>Gestion des commentaires</h3><hr/>
<?php
if(isset($_SESSION['idadmin'])){ // si l'utilisateur est admin
if(!isset($_GET['action'])){ // s'il n'y a aucune action on affiche les news
$article = $bdd->query("SELECT * FROM articles ORDER BY id LIMIT 9");
?>
<p><u>Les articles :</u></p>
<?php
while($liste_article = $article->fetch())
{
$nb_commentaire_article = $bdd->prepare("SELECT COUNT(*) AS nb_ligne FROM commentaire WHERE id_news = ?");
$nb_commentaire_article->execute(array($liste_article['id']));
$nbA = $nb_commentaire_article->fetch();
?>
<table>
<tr><th>Titre :</th><td><a href="index.php?page=AdministrationCommentaire&id=<?php echo $liste_article['id']; ?>&action=gestion"><?php echo $liste_article['titre']; ?></a><td><?php if($nbA['nb_ligne']!= 0){ echo"(".$nbA['nb_ligne'].")";}else { echo "(0)";} ?>commentaire(s)</tr>
</table>
<?php
} // while liste_article
$point_culture = $bdd->query("SELECT * FROM culture ORDER BY id LIMIT 9");
?>
<p><u>Les point cultures :</u></p>
<?php
while($info_cult = $point_culture->fetch()){ // affichage des news et nombre de commentaires
$nb_commentaire_culture = $bdd->prepare("SELECT COUNT(*) AS nb_com FROM commentaire WHERE id_article = ?");
$nb_commentaire_culture->execute(array($info_cult['id']));
$nbC = $nb_commentaire_culture->fetch();
?>
<table>
<tr><th>Titre :<th><td><a href="index.php?page=AdministrationCommentaire&id=<?php echo $info_cult['id']; ?>&action=commentaire"><?php echo $info_cult['titre']; ?></a></td><td><?php if($nbC['nb_com'] !=0){ echo '('.$nbC['nb_com'].')';}else{ echo'(0)'; } ?>commentaire(s)</td></tr>
</table>
<?php
} // while culture
} // get action
else if(isset($_GET['action']) == 'gestion'){ // si l'admin a clic sur une news article
$commentaires = $bdd->prepare("SELECT * FROM commentaire WHERE id_news = ?");
$commentaires->execute(array($_GET['id']));
while($gestion = $commentaires->fetch())
{
?>
<div id="commentaire">
<p style="color:#585858"><b><?php echo $gestion['auteur']; ?></b> | Le <?php echo $gestion['date']; ?>
<a href="index.php?page=com_article&id_com=<?php echo $gestion['id_com']; ?>&action=supprimer" onClick="return confirm('Etes vous sur de vouloir supprimer le commentaire de <?php echo $gestion['auteur']; ?>?');">
<img src="img/delete.png" title="Supprimer" align="right"/></a>
<a href="index.php?page=com_article&id_com=<?php echo $gestion['id_com']; ?>&action=modifier">
<img src="img/edit.png" title="Editer" align="right"/></a>
<p><?php echo $gestion['contenu']; ?></p>
</div>
<?php
} // while gestion
} //gestion
else if(isset($_GET['action']) == 'commentaire'){ // si l'admin a clic sur une news point culture
$commentaire = $bdd->prepare("SELECT * FROM commentaire WHERE id_article = ?");
$commentaire->execute(array($_GET['id']));
while($gestionC = $commentaire->fetch())
{
?>
<div id="commentaire">
<p style="color:#585858"><b><?php echo $gestionC['auteur']; ?></b> | Le <?php echo $gestionC['date']; ?>
<a href="index.php?page=com_article&id_com=<?php echo $gestionC['id_com']; ?>&action=supprimer" onClick="return confirm('Etes vous sur de vouloir supprimer le commentaire de <?php echo $gestionC['auteur']; ?>?');">
<img src="img/delete.png" title="Supprimer" align="right"/></a>
<a href="index.php?page=com_article&id_com=<?php echo $gestionC['id_com']; ?>&action=modifier">
<img src="img/edit.png" title="Editer" align="right"/></a>
<p><?php echo $gestionC['contenu']; ?></p>
</div>
<?php
} // while gestionC
} // get gestionc
else if(isset($_GET['action']) == 'supprimer') { // si l'action est supprimer
$supprime = $bdd->prepare("DELETE FROM commentaire WHERE id_com = :id");
$supprime->execute(array('id' => $_GET['id_com']));
?> <center><p class="message"><?php echo 'Le commentaire à bien était supprimer';?></p></center> <?php
header('Refresh: 1;url=index.php?page=AdministrationCommentaire');
} // else if supprimer
else if(isset($_GET['action']) == 'modifier') { //si l'action est modifier
$edition_com = $bdd->prepare("SELECT * FROM commentaire WHERE id_com= ?");
$edition_com->execute(array($_GET['id_com']));
$editer = $edition_com->fetch();
?>
<form method="post" action="">
<p class="nv_com"><b>Edition du commentaire :</b><br />
<textarea name="Edition" rows="4" cols="50"><?php echo $editer['contenu']; ?></textarea></br>
<input type="submit" name="edit" value="Confirmer" title="Editer le commentaire"/> | <input type="button" value ="Annuler" title="Anuuler la saisi" onclick="location.href='index.php'"/></p>
</form>
<?php
if(isset($_POST['edit']))
{ // si on n'a clic sur editer le commentaire
if(empty($_POST['contenu']))
{
$edition = $bdd->prepare("UPDATE commentaire SET contenu = :contenu WHERE id_com = :id");
$edition->execute(array(
'contenu' => $_POST['Edition'],
'id' => $_GET['id_com']
));
?> <center><p class="message"><?php echo 'Le commentaire à bien était éditer';?></p></center>
<?php header('Refresh: 1;url=index.php?page=AdministrationCommentaire');
}
else{ ?><center><p class="message2">Erreur : le commentaire est vide</p></center><?php }
} // $_POST['edit']
} // else if modifier
else if(isset($_GET['banir'])){ // si l'action et banir
} // else if banir
} // idadmin
else{ //sinon pas admin erreur
?>
<center><p class="message2">Erreur : vous n'avez rien n'a faire ici</p></center>
<?php
} // else
?>
PS : les commentaires des articles s'affiche bien, mais pas ceux du point culture
Merci
Tu l'as mis où ton print_r ?
Mets le ici :
... sachant que cette ligne de code... ne peut pas fonctionner...
Ni celle là ....
Là... tu demandes via ISSET si la variable existe.... le résultat sera TRUE ou FALSE ... et donc ne pourra jamais être égale à gestion.. modifier.... etc....
Et vu que tes IF ELSE IF... ne te servent qu'à vérifier toujours la même variable...($_GET['action']) ... je te conseille de les remplacer par un SWITCH
Pour aller plus loin... tu devrais même mettre le code correspondant à chaque action dans des Fonctions .... et appeler ces fonctions dans le switch plutôt que de mettre tout le code directement dedans....
Mets le ici :
<h3>Gestion des commentaires</h3><hr/> <?php print_r($_GET); if(isset($_SESSION['idadmin'])) // Le reste de ton code...
... sachant que cette ligne de code... ne peut pas fonctionner...
else if(isset($_GET['action']) == 'gestion')
Ni celle là ....
else if(isset($_GET['action']) == 'modifier')
Là... tu demandes via ISSET si la variable existe.... le résultat sera TRUE ou FALSE ... et donc ne pourra jamais être égale à gestion.. modifier.... etc....
Et vu que tes IF ELSE IF... ne te servent qu'à vérifier toujours la même variable...($_GET['action']) ... je te conseille de les remplacer par un SWITCH
$action = isset($_GET['action'])?$_GET['action']:NULL;
switch ($action) {
case 'gestion':
// ici le code de gestion
break;
case 'modifier':
// ici le code pour modifier
break;
case 'commentaire':
// ici le code pour les commentaires
break;
case 'supprimer':
// ici le code pour supprimer
break;
default:
// ici le code dans le cas où ne correspond à aucune autre valeur...
break;
}
Pour aller plus loin... tu devrais même mettre le code correspondant à chaque action dans des Fonctions .... et appeler ces fonctions dans le switch plutôt que de mettre tout le code directement dedans....