Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & ODBC
PHP & ODBC Forum d'entraide sur ODBC avec PHP. Avant de poster -> FAQ ODBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/06/2007, 15h55   #1
Invité de passage
 
Inscription : juin 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 7
Points : 0
Points : 0
Par défaut Résultat de requête vide

Bonjour,

Démarrant sur PHP je rencontre une difficulté dans l'affichage des résultats d'une requête dans un tableau HTML.

J'ai écrit le code suivant qui ne génère aucune erreur visible, exécute bien la requête et m'affiche le bon nombre de ligne, mais me renvoie des valeurs vides...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$datasource = "Cocoonet";
$dbuser = "postgres";
$dbpwd = "maxomalley";
$conn = odbc_connect($datasource, $dbuser, $dbpwd);
 
$query = "SELECT list_id as ID, List_acronym as ACRONYM, List_name_en as NAME_EN FROM list where active_list=true ORDER BY ACRONYM";
$result = odbc_exec($conn, $query);
echo odbc_num_rows($result);
 
$voir = odbc_fetch_array($result);
 
echo "<table>";
while ($voir = odbc_fetch_array($result))
{
echo "<tr>
<td>id: .$voir[$ID].</font></td>
<td><font face='Verdana' size='2'>Acronym : ".$voir[ACRONYM]."</font></td>
</tr>";
}
echo "</table>";
Quelqu'un peut-il me dire mon erreur ? Je me bats sur ce sujet depuis hier am et n'ai rien trouvé sur les forums et les cours.

Merci d'avance
Tisschab
tisschab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 15h59   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
il faut utiliser des quote ' ' autour des noms de clé dans les tableaux associatifs, soit $voir[ACRONYM] à remplacer par $voir['ACRONYM']

Par ailleurs, je vois que tu fais un fetch_array() et je ne sais pas si un fetch_assoc() existe mais je pense que ca serait mieux.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h04   #3
Invité de passage
 
Inscription : juin 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 7
Points : 0
Points : 0
Merci pour ta réponse :^
- Avec les ' ' ça ne renvoie tjs rien
- remplacement de fetch_array par fetch_assoc j'obtiens :
Fatal error: Call to undefined function odbc_fetch_assoc()
tisschab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h11   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Fais attention tu fais deux fetch de suite du coup tu perds un des résultats, fais plutot ca:
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
$datasource = "Cocoonet";
$dbuser = "postgres";
$dbpwd = "maxomalley";
$conn = odbc_connect($datasource, $dbuser, $dbpwd);
 
$query = "SELECT list_id as ID, List_acronym as ACRONYM, List_name_en as NAME_EN FROM list where active_list=true ORDER BY ACRONYM";
$result = odbc_exec($conn, $query);
echo odbc_num_rows($result);
 
echo "<table>";
while ($voir = odbc_fetch_array($result))
{
echo "<tr>";
echo "<td>id: " .$voir['ID']."</font></td>";
echo "<td><font face='Verdana' size='2'>Acronym : ".$voir['ACRONYM']."</font></td>";
echo "</tr>";
}
echo "</table>";
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h16   #5
Invité de passage
 
Inscription : juin 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 7
Points : 0
Points : 0
Désolé j'avais laissé une trace pour afficher le contenu de voir...

Non même en reprenant ton code j'ai tjs le même résultat :

Code :
1
2
3
4
5
6
7
 
124
id:  Acronym :  
id:  Acronym :  
id:  Acronym :  
id:  Acronym :  
id:  Acronym
tisschab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h27   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
ajoutes un print_r($voir) juste après ton while pour voir si ton résultat est bien rempli
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h34   #7
Invité de passage
 
Inscription : juin 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 7
Points : 0
Points : 0
bonne pioche, j'affiche bien le contenu du tableau qui se présente comme suit :

Code :
Array ( [id] => 10022 [acronym] => ADM_DIRECTORY [name_en] => Directory administrator ) Array ( [id] => 10024 [acronym] => ADM_DIRECTORY...
Comment faire maintenant, j'ai tenté de mettre en "minuscule" les variables ID et ACRONYM mais tjs rien...
tisschab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h37   #8
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Ben là tu me poses une colle ^^, la variable ne semble pas être un tableau en plus, les différentes valeurs ne sont pas séparées par des "," je ne comprends pas bien le problème, désolé.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h39   #9
Invité de passage
 
Inscription : juin 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 7
Points : 0
Points : 0
merci pour ta contribution et patience.
Je vais continuer les recherches.
tisschab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h42   #10
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
remplaces $voir['ID'] par $voir[0]. Pour savoir s'il arrive au moins a se répérer face aux indices entiers.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h44   #11
Invité de passage
 
Inscription : juin 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 7
Points : 0
Points : 0
non, même chose, j'avais effectivement essayé cette option.
tisschab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h47   #12
Invité de passage
 
Inscription : juin 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 7
Points : 0
Points : 0
incroyable !
Le simple fait de supprimer ta trace m'affiche le résultat, c'est incompréhensible...

Merci pour ton soutien
A+
tisschab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 16h48   #13
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
donc le problème est que ta variable $voir semble n'être pas un tableau, mais alors là je ne vois aucune raison à ça.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h20.


 
 
 
 
Partenaires

Hébergement Web