PHP

Problème de requêtes en PHP

Non Résolu

Bonjour à tous ,s'il vous plaît j'aimerais regrouper ces 2 requêtes dans une seule car je veux afficher le nombre total de réponse des commentaires dans le tableau. les requêtes sont justes mais les résultats ne respectent pas le format du tableau.


$req=$bd->query("SELECT T.*, DATE_FORMAT(T.date_creation, 'le %d/%m/%Y à %H\h%i') as date_c, U.prenom,U.nom FROM topic T LEFT JOIN utilisateur U ON U.id_utilisateur = T.id_utilisateur WHERE T.id_forum = ? ORDER BY T.date_creation DESC",array($get_id));
	$req=$req->fetchAll();


$nbrcommentaire=$bd->query("SELECT TC.id_topic, COUNT(TC.id_topic) nbrcommentaire
					FROM topic_commentaire TC
					GROUP BY TC.id_topic");
  
  
  	<?php foreach ($req as $r) {?>
  						 			
  						 			<tr>
  						 				<td>
  						 					<div style="font-size: 1.2rem">
  							 					<a href="topic.php?id_topic=<?php echo $r['id_topic']?>"><?=$r['titre']?></a>
  							 				</div>
  							 				<div style="font-size: .8rem">
							 					Par <?=$r['nom'] . " " . $r['prenom'] ?> <?=$r['date_c']?>
							 				</div>
						 				</td>


						 				<td>
						 					<?php while ($h=$nbrcommentaire->fetch()){?>


						 					<?php 
								 					
								 					echo $h['nbrcommentaire'];
								 					
								 				?>

						 				</td>
						 			</tr>


                    <?php 						 
                    			}			
                    		 		  }			
                    		 		?>



663 vues
30 mai 2020 à 21:01 (Édité)
Cette pub permet au site de vivre ...

5 commentaires

Re:


Tiens-nous au courant du résultat 🙂

merci bien chef pour ton aide j'essais ça rapidement 🙂

Bonsoir, j'ai vu que tu avais "éditer" le post.


En faite il te faudrait créer un tableau <table> et généré chaque individu dans chaque <td> , ce qui demande un ajustement du CSS.

Je te conseil de créer ta <div> qui possèdera tout les enfants pour faire ton tableau,


Pour ton code, je le trouve moyen, surtout que tu utilises du PDO autant s'en servir correctement...


Voici le code refais avec de bonne tab :


$req=$bd->prepare("SELECT T.*, DATE_FORMAT(T.date_creation, 'le %d/%m/%Y à %H\h%i') as date_c, U.prenom,U.nom FROM topic T LEFT JOIN utilisateur U ON U.id_utilisateur = T.id_utilisateur WHERE T.id_forum = ? ORDER BY T.date_creation DESC",array($get_id));
$req->execute();


$nbrcommentaire=$bd->prepare("SELECT TC.id_topic, COUNT(TC.id_topic) nbrcommentaire FROM topic_commentaire TC	GROUP BY TC.id_topic");
$nbrcommentaire->execute();


<?PHP while($Rreq = $req->FetchObject())
	{
	echo '<tr>';
		echo '<td>';
			echo "<div style='font-size: 1.2rem'><a href='topic.php?id_topic=".$Rreq->id_topic.'-'.$Rreq->titre."</a></div>";
			echo "<div style='font-size: .8rem'>Par ".$Rreq->nom."-".$Rreq->prenom."-".$Rreq->date_c."</div>";
		echo '</td>';
		echo '<td>';
			while($h = $nbrcommentaire->FetchObject())
			{
				echo $h->nbrcommentaire;
			}
		echo '</td>';
	echo '</tr>';
    }
?>


Suite à ça, comme j'ai dis plus haut :


<table class="MaClass" cellspacing="18">
	<tr>
		<th>ID DESC</th>
		<th width="xxxpx">Titre</th>
		<th width="xxxpx">Topic</th>
		<th width="xxxpx">Nom</th>
		<th width="xxxpx">Prenom</th>
		<th width="xxxpx">Date</th>
		<th width="xxxpx">Commentaire</th>
	</tr>
<?PHP
	$req=$bd->prepare("SELECT T.*, DATE_FORMAT(T.date_creation, 'le %d/%m/%Y à %H\h%i') as date_c, U.prenom,U.nom FROM topic T LEFT JOIN utilisateur U ON U.id_utilisateur = T.id_utilisateur WHERE T.id_forum = ? ORDER BY T.date_creation DESC",array($get_id))->execute();
	$nbrcommentaire=$bd->prepare("SELECT TC.id_topic, COUNT(TC.id_topic) nbrcommentaire FROM topic_commentaire TC	GROUP BY TC.id_topic")->execute();
	$x=1;
  	while($Rreq = $req->FetchObject())
  	{
	    echo '<tr>';
	    	echo '<td>'.$x.'</td>';
	    	echo "<td><a href='topic.php?id_topic=".$Rreq->id_topic."'>".$Rreq->titre."</a></td>";
	    	echo '<td>Par '.$Rreq->nom.' </td><td>'.$Rreq->prenom.' - </td><td>'.$Rreq->date_c.'</td>';
			while($h = $nbrcommentaire->FetchObject())
			{
				echo '<td>'.$h->nbrcommentaire.'</td>';
			}
		echo '</tr>';
    	$x++;
  	}
?>
</table>


Keur/

Hello @ChristyBanga,


Pourquoi souhaites-tu faire cela ? 🤔

Bonjour, tu as édité ton code avant l'envoie de celui-ci ?


Car il y a énormement de fautes.

Cette pub permet au site de vivre ...