[PHP] affichage requete ODBC dans un tableau

affichage requete ODBC dans un tableau [PHP] - PHP - Programmation

Marsh Posté le 16-01-2008 à 12:11:52    

Bonjour a tous,
 
Voila je me connecte avec ODBC
la connexion s'execute nickel ainsi que la requete
 

Code :
  1. $conn = odbc_connect($dsn,$user,$passwd);
  2. $qry= "SELECT nom, prenom, FROM user";
  3. $result = odbc_exec($conn,$qry);
  4.   while ($data[] = odbc_fetch_array($result));
  5.   print_r($data);


 
Avec ça cela marche mais j'ai un affichage brut de mes données, je voudrait savoir comment faire pour les avoir sous forme d'un tableau
 
merci a vous


Message édité par detonyle le 16-01-2008 à 12:12:29
Reply

Marsh Posté le 16-01-2008 à 12:11:52   

Reply

Marsh Posté le 16-01-2008 à 12:14:54    

Il faut parcourir ton tableau avec qqch du genre :

Code :
  1. for ($i=0;$i<= count($data)-1;$i++) { echo $data[$i].'<br>'; }


Message édité par babasss le 16-01-2008 à 12:16:42

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 16-01-2008 à 12:49:02    

j'ai essayer ça mais rien:

 


Code :
  1. $conn = odbc_connect($dsn,$user,$passwd);
  2.    $qry= "SELECT nom, prenom, FROM user";
  3.  
  4.   $result = odbc_exec($conn,$qry);
  5.    while ($data[] = odbc_fetch_array($result));
  6.    for ($i=0;$i<= count($data)-1;$i++) { echo $data[$i].'<br>'; }
 

J'ai droit a un beau Array


Message édité par detonyle le 16-01-2008 à 12:49:30
Reply

Marsh Posté le 16-01-2008 à 13:42:48    

Met plutot :

Code :
  1. while ($data = odbc_fetch_array($result));


(sans les [])


Message édité par babasss le 16-01-2008 à 13:43:18

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 16-01-2008 à 13:53:41    

Voila a quoi ressemble le nouveau code:
 

Code :
  1. $conn = odbc_connect($dsn,$user,$passwd);
  2. $qry= "SELECT nom,prenom FROM users";
  3.   $result = odbc_exec($conn,$qry);
  4.   while ($data = odbc_fetch_array($result));
  5.   {
  6.   for ($i=0;$i<= count($data)-1;$i++) { echo $data[$i].'<br>'; }
  7. }
  8. odbc_close($conn);


 
 
et la rien ne s'affiche

Reply

Marsh Posté le 16-01-2008 à 14:49:26    

Ouhlala, je suis fatigué moi....
 
Le code suivant, c'est pour parcourir un tableau une fois que celui-ci est construit.

Code :
  1. for ($i=0;$i<= count($data)-1;$i++) { echo $data[$i].'<br>'; }


 
Dans ton cas, il faut mieux utiliser faire comme ca :

Code :
  1. $conn = odbc_connect($dsn,$user,$passwd);
  2. $qry= "SELECT nom, prenom, FROM user";
  3. $result = odbc_exec($conn,$qry);
  4.   while ($data = odbc_fetch_array($result))
  5.   {
  6.    echo $data["nom"].' '.$data["prenom"];
  7.   }
  8. odbc_close($conn);


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 16-01-2008 à 15:13:46    

arfff, je vois vraiment pas ce qui va pas, j'ai toujours rien qui s'affiche

Reply

Marsh Posté le 16-01-2008 à 15:20:00    

detonyle a écrit :

arfff, je vois vraiment pas ce qui va pas, j'ai toujours rien qui s'affiche


J'avais pas vu avant, mais il y a une petite erreur dans ton SQL (une virgule en trop apres prenom), le bon code :

Code :
  1. $qry= "SELECT nom, prenom FROM user";


Message édité par babasss le 16-01-2008 à 15:20:27

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 16-01-2008 à 15:32:01    

yes mais ça je l'avais deja corrigé mais merci
 
j'ai exactement ça:

Code :
  1. $conn = odbc_connect($dsn,$user,$passwd);
  2. $qry= "SELECT nom, prenom FROM user where user_id=5";
  3. $result = odbc_exec($conn,$qry);
  4. while ($data[] = odbc_fetch_array($result))
  5.   {
  6.   echo $data["nom"].' '.$data["prenom"];
  7.   }
  8.   odbc_close($conn);


 
avec ca ecran blanc et sinon avec mon ancien code:

Code :
  1. $conn = odbc_connect($dsn,$user,$passwd);
  2. $qry= "SELECT nom, prenom FROM user where user_id=5";
  3. $result = odbc_exec($conn,$qry);
  4.   while ($data[] = odbc_fetch_array($result));
  5.   print_r($data);
  6.   odbc_close($conn);


 
j'ai un affichage de ce genre:
 
 
Array ( [0] => Array ( [nom] => dupont [prenom] =>jean) [1] => )
 
et je voudrai tout ca dans un tableau du genre :
 
 
user_id | Nom| Prenom
5         | dupont | jean


Message édité par detonyle le 16-01-2008 à 15:39:46
Reply

Marsh Posté le 16-01-2008 à 15:37:37    

Plusieurs choses :  

  • A partir du moment ou dans ton SQL, tu n'appelles pas les champs "incident_id" et "long_desc", tu ne peux pas les appeler dans $data[] => essayes (si tu ne l'as pas déjà fait d'afficher $data['nom'] et $data['prenom'])
  • Enleves dans ton nouveau code, les "[]" aprés $data.

=> Qu'est ce que tu obtiens maintenant ?
 
Sinon avec ton ancien code, ca fait quoi si tu enleves les "[]" aprés $data ?


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 16-01-2008 à 15:37:37   

Reply

Marsh Posté le 16-01-2008 à 15:40:12    

c'est une boulette en recopiant mon code j'ai corrige par nom et prenom
si dans mon ancien code j'enleve [] j'ai plus rien qui s'affiche
pareil dans le nouveau code :(


Message édité par detonyle le 16-01-2008 à 15:43:13
Reply

Marsh Posté le 16-01-2008 à 15:49:46    

Et si tu enleves dans ton nouveau code, les "[]" après $data ?


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 16-01-2008 à 15:51:40    

pareil j'ai rien qui s'affiche :(

Reply

Marsh Posté le 16-01-2008 à 16:00:17    

Pour te dépanner, quand tu as ca :  

Citation :

print_r($data);  
Array ( [0] => Array ( [nom] => dupont [prenom] =>jean) [1] => )


Cela veux dire que ton tableau $data est constitué de deux éléments :

Citation :

$data[0] = Array ( [nom] => dupont [prenom] =>jean)  
$data[1] = vide


Ainsi de suite, ton tableau $data[0] est constitué de deux éléments :

Citation :

$data[0]['nom'] = dupont (aussi = $data[0][0])
$data[0]['prenom'] = jean (aussi = $data[0][1])


 
Voili, Voilou


Message édité par babasss le 16-01-2008 à 16:00:34

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed