bravo, ça marche, mais pourquoi ? 
 De Robin Maltete - Mercredi 28 Novembre 2001 à 01:03

j'aurais aimé une explication matheuse sur l'algo utilisé (ou un peu plus de commentaires, par exemple, que fait if ($col == 1) $ligne[$lig] = "<TR BGCOLOR='#DADADA'>\n";
$ligne[$lig] .= "<TD> ".$valeur." </TD>\n";
if ($col == $nbcol) $ligne[$lig] .= "</TR>\n\n";

  Re: bravo, ça marche, mais pourquoi ? 
 De J-Pierre Dézélus - Mercredi 28 Novembre 2001 à 06:57

En HTML une ligne de cellules commence par <TR> et se termine par </TR>.
A l'intérieur chaque cellule est déclarée pat <TD>valeur</TD>.

Donc col=1 : j'initialise à <TR>
Pour tout col j'ajoute : <TD>valeurX</TD>
Dernière col : j'ajoute </TR>

  Appliqué à des données d'une BdD 
 De Jean-Yves ARNAUD - Mercredi 6 Février 2002 à 11:44

Comment procèderait-on si l'on devait appliquer cet algo en récupérant les valeurs dans une BdD ?

J'ai essayé de le faire pour afficher des résultats d'une requête dans un tableau de 2x2 et ça ne fonctionne pas.

Voici l'algo que j'ai pondu :

$colonne=2;
while($myrow=mysql_fetch_array($result))
{
if ($colonne=1)
$colonne++;
else
$colonne--;

echo $colonne;

$veh_id=$myrow["VEH_ID"];
$mod_id=$myrow["MOD_ID"];
$query1="SELECT MOD_NOM FROM modele WHERE MOD_ID=$mod_id";
$result1=mysql_query($query1,$db);
$obj=mysql_fetch_object($result1,MYSQL_ASSOC);
$veh_mod=$obj->MOD_NOM;

if ($colonne=1) {
echo "<tr> \n";
}
echo "<td class='Style_TPL' height='50'> \n";
echo "<div align='center'> \n";
echo "<B>ID Vehicule : </B>".$veh_id;
echo "<BR> \n";
echo "<B>Modele :</B> ".$veh_mod;
echo "</div> \n";
echo "</td> \n";

if ($colonne=2) {
echo "</tr> \n";
}
}

L'affichage se fait en fait sur 4 colonnes, et non sur 2 colonnes x 2 lignes.

  Récupérer les données d'une DB 
 De Serge B. - Samedi 13 Juillet 2002 à 22:10

Ma question est semblable à celle de Jean-Yves (en espérant qu'elle trouvera une âme charitable pour y répondre).

Le script fonctionne parfaitement. Mais j'aimerais pouvoir récupérer tout simplement les valeurs d'un champ défini d'une table définie pour les insérer dans le tableau.

Il faudrait donc oublier le

$tValeurs = Array(2, 5, 7, 9,...);

Et à la place intégrer d'une manière ou d'une autre la requête SQL "SELECT champ FROM table".

Quel type de fonction SQL dois-je utiliser pour qu'il rende un résultat de même structure au array ? Manifestement, ce que j'ai tenté avec mysql_fetch_array ne donne rien... :P

Merci d'avance :)

  Re: Récupérer les données d'une DB 
 De Serge B. - Samedi 13 Juillet 2002 à 22:57

Je complète mon problème :

Après un certain nombre d'essais, je suis parvenu à récupérer les valeurs de la DB. Pour cela j'ai introduit le code à l'endroit où $tValeurs est défini (en simplifiant) :

// La connexion à la DB a été effectuée
$req = mysql_query('SELECT champ FROM table')

while ($data = mysql_fetch_array($req))
{
$tValeurs = array($data[champ]);
}

Le problème, c'est que cela ne me renvoit en définitive qu'une seule valeur pour le tableau. Comment puis-je définir plusieurs valeurs dans l'array de $tValeurs ?