Afficher toutes les entrées d'une table

Résolu
Brunodurant Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
Brunodurant Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
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   Statut Membre Dernière intervention  
 
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