Pb syntaxe pour afficher array

Résolu/Fermé
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 - 21 févr. 2013 à 15:47
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 - 21 févr. 2013 à 16:01
Bonjour,
Depuis ce matin j'ai tout essayé, impossible d'afficher le résultat d'une requête.
Je sélectionne dans ma bdd le nombre le + important nombre d'une colonne (= le dernier n° entré). J'ai testé ma requête dans PhpMyAdmin : c'est OK.

Quand je veux l'afficher avec un echo j'ai : " Undefined index: numGite". Pourtant j'utilise cette syntaxe depuis longtemps, partout, et ça marche bien ?

Si je fais un print_r, cela m'affiche bien le résultat (99) mais sous la forme :
[code=php]Array ( [max(numGite)] => 99 ) [/code]
Je voudrais afficher juste "99".

Voici le script de ma requête (SELECT est une fonction dans un fichier à part) :

[code=php]$req = parcoursRs(SQLSelect("SELECT max(numGite) FROM GITE"));

foreach ($req as $numeroGite)
{
print_r ($numeroGite);
echo ($numeroGite["numGite"]);
}[/code]

Il doit y avoir une erreur grosse comme une montagne là-dedans mais je cale.
Merci par avance pour votre aide,
Evelyne31

3 réponses

Test :
echo $numeroGite["max(numGite)"]

ou
SELECT max(numGite) as numGite FROM GITE
echo $numeroGite["numGite"]
1
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
21 févr. 2013 à 15:55
comme le laisse entendre ton print_r, l'index de ton tableau n'est pas numGite, mais max(numGite)

si tu fais : $numeroGite['max(numGite)'] tu devrais l'avoir.

tu peux également passer par un alias dans ta requête

SELECT max(numGite) as numGiteMax FROM GITE

et tu consultes ton tableau via

$numeroGite['numGiteMax']
1
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
21 févr. 2013 à 16:01
Un grand merci kyser soze et ThEBIShOp,
Je viens de tester : echo $numeroGite["max(numGite)"] , ça fonctionne c'est impeccable.
Merci aussi pour les explications, je n'avais pas saisi qu'il fallait ajouter max à numGite.
C'est gravé pour les prochaines fois.
Encore merci et très bonne fin de journée,
Evelyne31
0