tableau a deux dimensions

Eléphant du PHP | 64 Messages

17 nov. 2005, 10:06

Je voulais savoir si en php, on peut construire des tableaux, ou plutot des "variables" a deux dimensions? je voudrais faire queque chose dans ce genre:

$
con= mysql_connect ($serv,$log,$pass) or die ("erreur de connection");
mysql_select_db($base,$con) or die ("erreur de selection");
$req="select * from $table2;";   
$res=mysql_query($req, $con);

$j=0;
$tab=array ();
while ($row=mysql_fetch_row($res)) {echo "<tr>";
 					
 					for ($i=0;$i<count($row);$i++) {
 									$tab[$j][$i]==$row[$i] ;
                                       					echo "<td>$tab[$j][$i] <td>";
                                       					}                               
                                    echo "</tr>";
                                    $j++;}
 
 $result=mysql_error($con);
 print $result;
 mysql_close ($con);
merci

Eléphant du PHP | 153 Messages

17 nov. 2005, 10:09

Oui c'est possible
tu pourrais a chaque tour de boucle créer un tableau à une dimension correspondant à ce que tu as récuperer dans ta requete.
Et ensuite mettre ce tableau dans ton tableau à deux dimensions.

Eléphant du PHP | 64 Messages

17 nov. 2005, 10:37

C'est plus ou moins ce que j'ai fait dans mon script, situé dans le message precedent mais cela genere des erreurs " Undefined offset:" , est ce que vous sauriez a quoi cel est due?

Eléphant du PHP | 153 Messages

17 nov. 2005, 10:47

peut etre que
while ($row=mysql_fetch_row($res)) {echo "<tr>"; 
                     
                    for ($i=0;$i<(count($row)-1);$i++) { 
                                    $tab[$j][$i]==$row[$i] ; 
                                                           echo "<td>$tab[$j][$i] <td>"; 
                                                           }                                
                                    echo "</tr>"; 
                                    $j++;}
Car les tableaux sont indicés à partir de 0 mais quand tu comptes le nombre de composantes du tableau il y en a une de plus

Eléphant du PHP | 64 Messages

17 nov. 2005, 10:54

Non ce n'est pas cela, j'ai toujours la meme erreur. est ec que la syntaxe $tab[$i][$j] est bonne?

Eléphant du PHP | 153 Messages

17 nov. 2005, 11:04

essaie plutot
con= mysql_connect ($serv,$log,$pass) or die ("erreur de connection"); 
mysql_select_db($base,$con) or die ("erreur de selection"); 
$req="select * from $table2;";    
$res=mysql_query($req, $con); 

$j=0; 
$tab=array (); 
while ($row=mysql_fetch_row($res)) {echo "<tr>"; 
                     $compo=array();
                    for ($i=0;$i<(count($row)-1);$i++) { 
                             $compo[$i]=$row[$i];       
                                     
                                                           echo "<td>$row[$i] <td>"; 
                                                           }
                                $tab[$j]=$compo;
                                    echo "</tr>"; 
                                    $j++;} 

$result=mysql_error($con); 
print $result; 
mysql_close ($con); 


As tu besoin du tableau par la suite ou c'est juste pour l'affichage?

Eléphant du PHP | 64 Messages

17 nov. 2005, 11:24

J'ai besoin du tableau par la suite, je ne l'affiche que pour etre sur de mon code. J'ai testé ton code cependant je nai pas ciomprit comment, une fois sortie de ma boucle je pouvais recuperer mes valeurs?
Car je vais avoir besoin des donnée extraite de ma base par la suite c'est pour cela que je voualsi les mettres dans des varables pour pouvoir m'en reservir sans a nouveau faire un appel vers le serveur.

merci bcp pour ton aide!

Eléphant du PHP | 153 Messages

17 nov. 2005, 11:35

De la même manière pour avoir accès à la première colonne de la ligne 1
$tab[0][0];
Troisième colonne ligne 4
$tab[3][2];
En fait a chaque tour de boucle tu construits un tableau regroupant les données de l'enregistrement correspondant et tu l'injectes en ième composante du tableau $tab.

Ca marche ou pas?

Eléphant du PHP | 64 Messages

17 nov. 2005, 11:43

Malheureusement non, j'ai tjour la meme erreur, Undefined offset :(

Eléphant du PHP | 153 Messages

17 nov. 2005, 11:47

Donne moi la ligne et la ligne de code à laquelle elle correspond

Eléphant du PHP | 64 Messages

17 nov. 2005, 12:05

c'est bon j'ai réussi! je m'etait trompé avec une variable dans mon premier code!
while ($row2=mysql_fetch_row($res2)){
	                           				   for($j=0;$j<$c=count($row2);$j++){
				     	                          $tab[$i][$j]=$row2[$j];
								  echo $tab[$i][$j];
				                                }
                                     $i ++ ;
                                     }
Merci beaucoup !