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

 


Dernière réponse
Sujet : php tableau
bob2674 merci bien cela marche  
je peux te joindre comment si j'ai encore des pb?

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
bob2674 merci bien cela marche  
je peux te joindre comment si j'ai encore des pb?
Mara's dad 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...
Mara's dad Ben là, faut me montrer ton code...
 
Et ta connexion ODBC, t'es certain qu'elle marche ???
bob2674 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
Mara's dad 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. }

bob2674 80
80
Resource id #3
 
et dans la première colone il ya 1 1 2 2
Mara's dad 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]

bob2674 cela affiche rien du tout  
:-(
Mara's dad 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] );

bob2674 ben euhhhh cela marche pas et je ne sais toujours pas pourquoi cela va pas
Mara's dad 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);
Mara's dad Dans odbc_fetch_into(), le tableau doit-être passé par référence avec l'opérateur &. Comma çà :
 
odbc_fetch_into($idresult,0,&$TempTab);
bob2674 et il ne m'affiche rien
bob2674 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]);
Mara's dad 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 ?
bob2674 tu sais je debute sur php je n'y connais absoulemnt rien en php
tu evalue comment le tableau?
Mara's dad Un peut d'immagination que diable !
 

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

bob2674 autre idée?
bob2674 ok mais cela ne marche pas
bob2674 ok mais cela ne marche pas
Mara's dad 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 ?

bob2674 UP
bob2674 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

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)