php tableau - Programmation
Marsh Posté le 27-06-2001 à 13:49:40
Exemple :  
| Code : 
 | 
 
 
Cet exemple affiche :  
| Code : 
 | 
 
 
Donc pour ton odbc_fetch_into, il suffit que tu passe $MonTableau[] au lieu de $MonTableau. A chaque lecture de ligne, elle sera ajoutée à $MonTableau... 
 
OK ? 
Marsh Posté le 27-06-2001 à 15:08:12
Un peut d'immagination que diable ! 
 
| Code : 
 | 
Marsh Posté le 27-06-2001 à 15:28:31
tu sais je debute sur php je n'y connais absoulemnt rien en php 
tu evalue comment le tableau? 
Marsh Posté le 27-06-2001 à 16:02:11
Désolé, mais là c'est moi qui comprend pas ? ? ? 
 
Qu'est-ce que tu entend par "évaluer le tableau" ? 
 
Si il s'agit de le lire, y'a un exemple dans ma première réponse. 
 
Sinon, (rappel, en php, y'a pas de déclaration de variable) petit cours sur les tableaux... 
 
$taba[5]="toto";   Cette ligne crée un tableau $taba dont seul le 5eme élément éxiste ! 
 
$tabb[BONJOUR]="toto";   Cette ligne crée un tableau $tabb qui  ne contient qu'un seul élément d'indice 0 ou BONJOUR ! Oui, en php, on peut utiliser ce qu'on veut comme indice dans un tableau. Ca s'appelle alors un tableau associatif. 
 
$tabc[]="toto";   Cette ligne crée un tableau $tabc dont le seul élément est accessible par l'indice 0. 
 
$tabc[]="titi"; Cette ligne AJOUTE un élément d'indice 1 dans le tableau $tabc. 
 
$tabd[] = $tabc; Cette ligne crée un tableau $tabd à deux dimensions contenant : 
$tabd[0][0] -> "toto" 
$tabd[0][1] -> "titi" 
Le contenu de $tabd[0] est une copie (un clone) de $tabc. Ce n'est pas une référence (comme en CLIPPER par exemple). Changer le contenu de $tabc[1] ne change pas celui de $tabd[0][1]. 
 
En fait, les tableaux PHP sont à autant de dimension que tu veux. Mais c'est pas la bonne manière de voir les choses. En fait, il vaut mieux considérer que $tab[0] est une variable contenant un tableau. Et ansi de suite. Les tableaux en PHP ne sont pas Carré ou Cubique ou ...  
Je peut écrire : 
$tab[0][1] = "a"; 
$tab[0][2] = "b"; 
$tab[0][3] = 36; 
$tab[1] = "toto"; 
$tab[25][3][6] = "Planqué cette chaîne ! ! !"; 
C'est plus des listes chaîneés qu'autre choses... 
 
ENCORE ? 
Marsh Posté le 27-06-2001 à 16:07:09
voici mon code 
$idresult=odbc_exec($connection,"SELECT * FROM GCPHLFAC WHERE GNUFAC=1" );  
$nblign=0; 
 
for ($i=1;odbc_fetch_row($idresult,$i);$i++) 
    {$nblign++;}  
while ($i<$nblign) 
{ 
$i++; 
 odbc_fetch_into($idresult,0,$TempTab); 
$monTableau[]=$TempTab; 
} 
printf ($monTableau[0][0]); 
Marsh Posté le 27-06-2001 à 16:17:39
Dans odbc_fetch_into(), le tableau doit-être passé par référence avec l'opérateur &. Comma çà : 
 
odbc_fetch_into($idresult,0,&$TempTab); 
Marsh Posté le 27-06-2001 à 16:21:23
D'autre part, je pense que c'est : 
odbc_fetch_into($idresult,$i,&$TempTab);  
que tu veux faire et pas : 
odbc_fetch_into($idresult,0,&$TempTab); 
Marsh Posté le 27-06-2001 à 16:34:32
ben euhhhh cela marche pas et je ne sais toujours pas pourquoi cela va pas
Marsh Posté le 27-06-2001 à 16:51:35
Essaye comme çà (sans fetch_into) :  
| Code : 
 | 
Marsh Posté le 27-06-2001 à 17:08:55
Vérifications : Y'a quoi dans la première colonne de la première ligne de "SELECT * FROM GCPHLFAC WHERE GNUFAC=1" ? 
 
Ajoute un echo $nf; pour voir combien de champs il trouve... 
 
Ajoute un echo count($monTableau); avant le print pour voir combien de lignes ont été trouvées. 
 
Affiche $idresult... 
 
...
[edtdd]--Message édité par Mara's dad--[/edtdd]
Marsh Posté le 27-06-2001 à 17:14:05
80 
80 
Resource id #3 
 
et dans la première colone il ya 1 1 2 2 
Marsh Posté le 27-06-2001 à 17:21:50
Si t'as recopié mon code, y'a une erreur :  
Faut mettre $temp[] = odbc_result( $idresult, $i );  
 
Sinon, 
Que te retourne :  
| Code : 
 | 
Marsh Posté le 27-06-2001 à 17:28:49
j'avais bine fait le changement de ton erreur 
et pour la boucle du tableau il ne maffiche rien mm pas le retour à la ligne dans la boucle à mon avis il ne fais mm pas la boucle une seule fois 
Marsh Posté le 27-06-2001 à 17:36:23
Ben là, faut me montrer ton code... 
 
Et ta connexion ODBC, t'es certain qu'elle marche ??? 
Marsh Posté le 27-06-2001 à 17:39:21
Et un : 
echo ( odbc_result( $result, $i ) . "<br>" ); 
après $temp[] = odbc_result( $result, $i );  
 
Ca fait quoi ? 
 
Si çà fait rien, c'est que ta requête est foireuse... 
Marsh Posté le 27-06-2001 à 18:09:23
merci bien cela marche  
je peux te joindre comment si j'ai encore des pb? 
Marsh Posté le 27-06-2001 à 12:11:37
comment puis je faire pour rentrer des données dans un tabelau multidimension en utilisant la fonction odbc_fetch_into
je fais un requete et je l'execute et je recupere le resultat dans un tabelau de chaque ligne de la requete avec la fonction ci-dessus
BREF:
je voudrais faire un tableau multidimension avec toutes les données de la requete à l'interieur pour pouvoir les reutiliser plus facilement