Afficher toutes les entrées d'une table

Résolu/Fermé
Brunodurant Messages postés 13 Date d'inscription dimanche 14 novembre 2021 Statut Membre Dernière intervention 23 août 2022 - Modifié le 10 janv. 2022 à 23:13
Brunodurant Messages postés 13 Date d'inscription dimanche 14 novembre 2021 Statut Membre Dernière intervention 23 août 2022 - 11 janv. 2022 à 11:12
Bonjour,

J'ai un petit soucis. J'ai fait "migrer" mon site web en php en version 7.4 et le passage de mysql à mysqli (je l'avais construit il y a très longtemps).

J'ai tout mis à jour sans problème mais je bute sur un truc tout bête. Je souhaiterai que les entrées dans la base de données s'affichent l'une au dessous de l'autre dans un tableau.

Avec mysql, j'y arrive bien mais avec mysqli, je n'arrive qu'à afficher la dernière entrée.

Je n'arrive pas à voir où je me suis trompé. Est-ce que vous auriez une idée ?

Merci beaucoup et à bientôt

Bruno

Voici mon code:


 include( '../script/connection.inc.php' );
 $conn = mysqli_connect( $servername, $username, $password, $database );
 if ( !$conn ) {
  die( "Échec de la connexion : " . mysqli_connect_error() );
 }
 $req = "SELECT * FROM LCDetudepv";
 $res = $conn->query( $req );
 sql_close( $conn );
 $i = 0;
 while ( $sqlRow = mysqli_fetch_assoc( $res ) ) {
  if ( $i % 2 == 0 ) {
   echo '<tr class="rowTab1">' . "\n";
  } else {
   echo '<tr class="rowTab2">' . "\n";
  }
  $i++;
}

2 réponses

jordane45 Messages postés 38160 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 4 657
10 janv. 2022 à 23:22
Bonjour,

<?php
//activation de l'affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);


//connexio à la bdd en style "objet"
require_once( '../script/connection.inc.php' );
 
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password,  $database);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}


//requête en style objet
$req = "SELECT * FROM LCDetudepv";
if (! $res = $conn->query( $req )){
 echo "Query Error : " .  $conn->error;
}


$i=0;
/* fetch associative array */
while ($row = $res->fetch_assoc()) {
  $class  = $i % 2 ? "rowTab1" : "rowTab2";
  echo '<tr class="'.$class.'">' . "\n";
  echo '<td>';
   print_r($row); // a toi de mettre ce que tu veux dans cette cellule...
  echo '</td>';
  echo "</tr>";  
  $i++;
}


//fermeture de la connexion à la bdd
$conn->close();

0
Brunodurant Messages postés 13 Date d'inscription dimanche 14 novembre 2021 Statut Membre Dernière intervention 23 août 2022
11 janv. 2022 à 11:12
Bonjour Jordane,

Merci beaucoup pur ta réponse.

Alors, j'ai tout refait et je m'étais trompé sur ... un <td> !!! et j'avais mal positionné mon while.

Du coup, tout refonctionne.

Je mets mon code, qui est loin d'être parfait, ci-dessous si cela peut aider quelqu'un ... :)

Encore merci et à bientôt

Bruno


...
<table border=1 align="center" cellspacing="0" bordercolor="#000000">
<tr>
<td align="center" valign="middle"><strong>ID</strong>
</td>
<td align="center" valign="middle"><strong>VALEURS</strong>
</td>
<td align="center" valign="middle" bordercolor="#000000"><strong>MOTS</strong>
</td>
</tr>

<?php
include( '../script/connection.inc.php' );
$conn = mysqli_connect( $servername, $username, $password, $database );
if ( !$conn ) {
die( "Échec de la connexion : " . mysqli_connect_error() );
}
$req = "SELECT * FROM test";
$res = $conn->query( $req );
$i = 0;
while ( $sqlRow = mysqli_fetch_array( $res ) ) {
if ( $i % 2 == 0 ) {
echo '<tr class="rowTab1">' . "\n";
} else {
echo '<tr class="rowTab2">' . "\n";
}
$i++;

?>
<tr>
<td align="right" valign="middle">
<?php
if ( $sqlRow[ 'id' ] == "" ) {
print( "" . "\n" );
} else {
print '<span style="color:black">' . $sqlRow[ 'id' ] . "\n";
}
?>
</td>
<td align="right" valign="middle">
<?php
if ( $sqlRow[ 'valeurb' ] == "" ) {
print( " " . "\n" );
} else {
print '<span style="color:black">' . $sqlRow[ 'valeurb' ] . "\n";
}
?>
</td>
<td align="right" valign="middle" bordercolor="#000000">
<?php
if ( $sqlRow[ 'mot' ] == "" ) {
print( " " . "\n" );
} else {
print '<span style="color:black">' . $sqlRow[ 'mot' ] . "\n";
}
}
?>  
</td>
</tr>
</table>

...
0