PHP

Problème de création d'un topic

Non Résolu

Bonjour pouvez-vous m'aider à faire un tableau qui comporte les id et les catégories. Et m'aider à enlever les bugs des mots avec accent car cela affiche des triangles.


<?php
session_start();
try {
 $bdd = new PDO('mysql:host=localhost;dbname=monsite;meta charset="utf-8','root','');


  $forum = $bdd->prepare('SELECT * FROM forum ORDER BY ordre');
  $forum->execute(array());


}
  catch (PDOException $e) {
    echo "Erreur !: " . $e->getMessage() . "<br/>";
}


?>


<!DOCTYPE html>
<html>
<head>
	<title>Forum</title>
	<meta charset="utf-8">
	<link rel="stylesheet" type="text/css" href="forum.css">
</head>
<body>
<center><H2>Le Forum</H2></center>
<br>
<br>
<table>
    <th>ID</th>
    <th>Titre</th>
<br>
<tr>
<td>
<br>
<br>
 <?php while ($r = $forum->fetch()) 
{ echo  $r["id"] ?>
  </td>
<br>
<br>
<td>
<?php 
echo $r["titre"]; ?>
</td>
<?php
}
?>
</table>
</div>
</body>
</html>


Merci

Luca

1142 vues
20 avril 2020 à 20:14 (Édité)
Cette pub permet au site de vivre ...

12 commentaires

@Luca-vidiri46,


Tu n'as pas suivi mon nouveau code ...


J'ai mis les balises <tr> à l’intérieur de la boucle

@Luca-vidiri46,


Tu peux me montrer une photo de ton code avec goopics ?

@Luca-vidiri46,


As-tu tester ce que je t'ai mis ?


<table>
...
<tbody>
<?php
foreach($forum as $f){
 ?>
  <tr>
   <td><?= $r["id"] ?></td>
   <td><?= $r["titre"] ?></td>
  </tr>
 <?php
 }
 ?>
</tbody>
</table>

je viens de changer quelque chose. Le style est plus beau. Mais la catégorie 2 et l'id 2 ne sont pas à la bonne place.


@Luca-vidiri46,


Oups autant pour moi, tu peux essayer ça plutôt :


<table>
...
<?php
foreach($forum as $f){
 ?>
  <tr>
   <td><?= $r["id"] ?></td>
   <td><?= $r["titre"] ?></td>
  </tr>
 <?php
 }
 ?>
</table>

cc je ne marche tj pas. =(

voici ce que sa fait cela ne fait pas de tableau



Aidez moi please

Luca

Merci quand même Clouder

Salut @luca-vidiri46,


Pour afficher les informations dans ton tableau tu peux faire comme ça :


Avec une requête SQL en PHP privilégie d'utiliser l'instruction foreach au lieu d'un while.


Pourquoi ?


Car un while si tu fais n'importe quoi celui-ci tournera en boucle .. alors que le foreach parcours un tableau. Si ce tableau contient 1000 enregistrements il les lira tous.


<?php

  $forum = $bdd->prepare('SELECT * FROM forum ORDER BY ordre');
  $forum->execute(array());
  
  $forum = $forum->fetchAll();
?>
<html>
  ...
  <body><table><thead>
        <th>ID</th>
        <th>Titre</th></thead><tbody><tr><?phpforeach($forum as $f){
          ?><td><?= $r["id"] ?></td><td><?= $r["titre"] ?></td><?php
            }
          ?></tr></tbody></table></body>
</html>

Cc quand j'ai dit tableaux je parle d'un tableau en html : Si voulez l'id 2 n'est dans une case du tableau à la colone id, pareil pour ma catégorie 2.

regardez : https://goopics.net/a/pxD5w49c

et pouvez aussi m'aider à améliorer mon tableau

Cette pub permet au site de vivre ...
1
2