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