Bonjour

j'aimerai afficher des données d'une table dans un tableau de 4 colonnes et ensuite que les lignes s'ajoutent au fur et à mesure des entrées.

j'y travaille depuis plusieurs jours... soit je n'ai que ma dernière entrée, soit je n'ai qu'une ligne et plusieurs colonnes soit l'inverse, que des lignes dans une cellule.

c'est un tuto que j'ai trouvé et que j'ai tenté de mettre à profit... j'ai essayé de comprendre mais là, je ne sais plus quoi faire...

si vous pouviez m'indiquer mon erreur ? je suis inexpérimenté

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
<?php
// $NbreData : le nombre de données à afficher
// $NbrCol : le nombre de colonnes
// $NbrLigne : calcul automatique AVANT affichage
// -------------------------------------------------------
// on se connecte à notre base
				mysql_connect ("localhost", "id", "mdp");
				mysql_select_db ("table");	
// requête
$sql = "SELECT ref_a, lieu_a, auteurdate_a, url_a FROM table ORDER BY id"; 
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
//-----------------------
$result = mysql_query($sql);
$NbreData = mysql_num_rows($result);
 
if ($result == 0) {
	echo 'Pas de photo pour le moment.';
}
else {
	while ($data = mysql_fetch_array($req)) {
$ref = $data['ref_a'];
$url = $data['url_a'];
$lieu = $data['lieu_a'];
$page = '<a href=" '.$url.' ">'.$lieu.'</a>';
 
// affichage
$NbrCol = 4;
$NbrLigne = 0;
if ($NbreData != 0) {
$j = 1;
echo '<table border="1" cellspacing="8">';
echo '<tr>';
if ($j%$NbrCol == 1) {
        $NbrLigne++;
      $fintr = 0;
   }
   echo '<td>';
        // AFFICHAGE des DONNEES
  echo '<br />';
	echo $ref;
    echo '&nbsp','-','&nbsp';
   echo $page;
   echo '<br />';
   echo $autdat;
   }
 
    // ------------------------------------------
   echo '</td>';
   if ($j%$NbrCol == 0) {
      echo '</tr>';
      $fintr = 1;
   }
   $j++;
 
if ($fintr!=1) { echo '</tr>'; }}}
echo '</table>';
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
mysql_close();
?>
merci pour votre aide