Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1235 connectés 

  FORUM HardWare.fr
  Programmation

  php tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

php tableau

n°43077
bob2674
Posté le 27-06-2001 à 12:11:37  profilanswer
 

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

mood
Publicité
Posté le 27-06-2001 à 12:11:37  profilanswer
 

n°43108
bob2674
Posté le 27-06-2001 à 13:42:50  profilanswer
 

UP

n°43113
Mara's dad
Yes I can !
Posté le 27-06-2001 à 13:49:40  profilanswer
 

Exemple :  

Code :
  1. <?php
  2. $a[] = array( "01", "02", "03", "04", "05" );
  3. $a[] = array( "11", "12", "13", "14", "15" );
  4. $a[] = array( "21", "22", "23", "24", "25" );
  5. for ($i=0; $i<count($a); $i++ )
  6. {
  7. for ($j=0; $j<count($a[$i]); $j++ )
  8.  echo($a[$i][$j] . " - " );
  9. echo("<br>" );
  10. }
  11. ?>


 
Cet exemple affiche :  

Code :
  1. 01 - 02 - 03 - 04 - 05 -
  2. 11 - 12 - 13 - 14 - 15 -
  3. 21 - 22 - 23 - 24 - 25 -


 
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 ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43137
bob2674
Posté le 27-06-2001 à 14:31:34  profilanswer
 

ok mais cela ne marche pas

n°43138
bob2674
Posté le 27-06-2001 à 14:31:40  profilanswer
 

ok mais cela ne marche pas

n°43142
bob2674
Posté le 27-06-2001 à 14:37:45  profilanswer
 

autre idée?

n°43154
Mara's dad
Yes I can !
Posté le 27-06-2001 à 15:08:12  profilanswer
 

Un peut d'immagination que diable !
 

Code :
  1. while(...)
  2. {
  3.     odbc_fetch_into(... , $TempTab );
  4.     $MonTableau[] = $TempTab;
  5. }


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43166
bob2674
Posté le 27-06-2001 à 15:28:31  profilanswer
 

tu sais je debute sur php je n'y connais absoulemnt rien en php
tu evalue comment le tableau?

n°43180
Mara's dad
Yes I can !
Posté le 27-06-2001 à 16:02:11  profilanswer
 

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 ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43181
bob2674
Posté le 27-06-2001 à 16:07:09  profilanswer
 

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]);

mood
Publicité
Posté le 27-06-2001 à 16:07:09  profilanswer
 

n°43182
bob2674
Posté le 27-06-2001 à 16:08:07  profilanswer
 

et il ne m'affiche rien

n°43186
Mara's dad
Yes I can !
Posté le 27-06-2001 à 16:17:39  profilanswer
 

Dans odbc_fetch_into(), le tableau doit-être passé par référence avec l'opérateur &. Comma çà :
 
odbc_fetch_into($idresult,0,&$TempTab);


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43190
Mara's dad
Yes I can !
Posté le 27-06-2001 à 16:21:23  profilanswer
 

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);


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43192
bob2674
Posté le 27-06-2001 à 16:34:32  profilanswer
 

ben euhhhh cela marche pas et je ne sais toujours pas pourquoi cela va pas

n°43197
Mara's dad
Yes I can !
Posté le 27-06-2001 à 16:51:35  profilanswer
 

Essaye comme çà (sans fetch_into) :  

Code :
  1. $idresult=odbc_exec($connection,"SELECT * FROM GCPHLFAC WHERE GNUFAC=1" ); 
  2. // Récuprération du nombre de champs
  3. $nf = odbc_num_fields($idresult);
  4. while( $ligne=odbc_fetch_row( $idresult ) )
  5. {
  6. $i=0;
  7. $temp = ''; // Réinitialisation du tableau temporaire
  8. while ($i < $nf)
  9. {
  10.  $i++;
  11.  $temp[] = odbc_result( $result, $i );
  12. }
  13. $monTableau[] = $Temp;
  14. }
  15. print( $monTableau[0][0] );


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43200
bob2674
Posté le 27-06-2001 à 17:01:53  profilanswer
 

cela affiche rien du tout  
:-(

n°43202
Mara's dad
Yes I can !
Posté le 27-06-2001 à 17:08:55  profilanswer
 

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]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43203
bob2674
Posté le 27-06-2001 à 17:14:05  profilanswer
 

80
80
Resource id #3
 
et dans la première colone il ya 1 1 2 2

n°43206
Mara's dad
Yes I can !
Posté le 27-06-2001 à 17:21:50  profilanswer
 

Si t'as recopié mon code, y'a une erreur :  
Faut mettre $temp[] = odbc_result( $idresult, $i );  
 
Sinon,
Que te retourne :  

Code :
  1. for ($i=0; $i<count($monTableau); $i++ )
  2. {
  3.    for ($j=0; $j<count($monTableau[$i]); $j++ )
  4.       echo( $monTableau[$i][$j] . " - " );
  5.    echo("<br>" );
  6. }


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43209
bob2674
Posté le 27-06-2001 à 17:28:49  profilanswer
 

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

n°43210
Mara's dad
Yes I can !
Posté le 27-06-2001 à 17:36:23  profilanswer
 

Ben là, faut me montrer ton code...
 
Et ta connexion ODBC, t'es certain qu'elle marche ???


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43212
Mara's dad
Yes I can !
Posté le 27-06-2001 à 17:39:21  profilanswer
 

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...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43216
bob2674
Posté le 27-06-2001 à 18:09:23  profilanswer
 

merci bien cela marche  
je peux te joindre comment si j'ai encore des pb?

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  php tableau

 

Sujets relatifs
[PHP] affichage de resultat d'une requete SQL ds un tableau[MySQL & PHP] tableau avec suppression de lignes
[VC++] => Comment faire un tableau cd CString ??passer un tableau dans une URL en PHP
javascript - modifier dynamiquent la couleur de fond d un tableaucomment crée t on un tableau en asp?
ASP- remplir un tableau d un degradé de couleurs[quick basic] declarer un tableau de + de 32000 et des poussieres.....
[Delphi] tableau dynamique d objet[HTML] Feuille de style .css pour un tableau ....
Plus de sujets relatifs à : php tableau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR