PHP PDO - résultat requête sous forme de tableau [Fermé]

Messages postés
30
Date d'inscription
jeudi 13 décembre 2012
Statut
Membre
Dernière intervention
23 août 2014
- - Dernière réponse : Def49
Messages postés
30
Date d'inscription
jeudi 13 décembre 2012
Statut
Membre
Dernière intervention
23 août 2014
- 9 juil. 2014 à 15:01
Bonjour à tous,

Je suis pas très doué un PHP pour le peu que j'en ai fait, c'était les bases PHP Mysql...

Je dois faire des requêtes pour sortir un résultat pour ensuite faire un INSERT dans un nouvelle base qui servira de copie et envoyer le résultat par mail à des destinataires...

Je dois utiliser du PHP utilisant du PDO avec connexion ODBC...

J'ai réussi l'étape de connexion (Connexion.php)
J'ai réussi à faire une requête et à en afficher le résultat (requete.php)

C'est pas terrible, du coup j'essaye de mettre ça sous forme d'un tableau avec du HTML mais j'arrive à rien.
J'avais bien des exemples sous mes petits cours php/mysql mais comme c'est pas la même forme que du PDO, je n'arrive pas à grand chose...

Si vous pouviez m'aider...

code de base de "requete.php"

<?php

include ("Connexion.php");

$requete = "SELECT clktcode,clctnom FROM client where clktsoc='104'";

$resultat = $connexion->query($requete);

print_r($resultat->fetchAll());

$resultat->closeCursor();
$resultat = NULL;

?>


merci pour tout ^^
Afficher la suite 

6 réponses

Messages postés
30
Date d'inscription
jeudi 13 décembre 2012
Statut
Membre
Dernière intervention
23 août 2014
0
Merci
Merci pour l'aide et le lien, je vais tester tout ça et je te redis
Messages postés
30
Date d'inscription
jeudi 13 décembre 2012
Statut
Membre
Dernière intervention
23 août 2014
0
Merci
Alors j'ai essayé ce que tu m'as donné mais faut toujours que je tombe sur un soucis. J'ai fais ceci :


<?php

include ("Connexion.php");

$requete = "SELECT clktcode,clctnom FROM client where clktsoc='104'";
$resultat = $connexion->query($requete);

while ($donnees = $resultat->fetch())

{
echo $donnees['clctnom'] . '<br />';
}

$resultat->closeCursor();

?>

Et j'ai l'erreur "Notice: Undefined index: clctnom in C:\wamp\www\requete.php on line 12" qui s'affiche. Pourtant la clé "clctnom" existe bien. Même erreur avec "clktcode"...


Sur le net il parle du fait que la variable "$_POST" ou "$_GET" est utilisée sauf que ce n'est pas mon cas...
Messages postés
2378
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
2 février 2018
395
0
Merci
Salut,

Pourtant la clé "clctnom" existe bien
En es-tu sur ? Tu peux utiliser var_dump() pour vérifier le contenu de ta variable.

Le problème vient surement du mode de retour de la méthode fetch() : http://www.php.net/manual/fr/pdostatement.fetch.php

Essaye de spécifier le mode PDO::FETCH_ASSOC dans la méthode fetch pour forcer cette dernière à te retourner un tableau associatif :
<?php

include ("Connexion.php");

$requete = "SELECT clktcode,clctnom FROM client where clktsoc='104'";
$resultat = $connexion->query($requete);

while ($donnees = $resultat->fetch(PDO::FETCH_ASSOC))
{
        // débug pour contrôler les données
        var_dump($donnees);
	echo $donnees['clctnom'] . '<br />';
}

$resultat->closeCursor();


Bonne journée
Messages postés
30
Date d'inscription
jeudi 13 décembre 2012
Statut
Membre
Dernière intervention
23 août 2014
0
Merci
La clé existe bien sinon je n'aurais pas réussi à sortir mon résultat sur mon premier screen...

J'ai bien rajouté le var_dump($donnees)
et il y a bien "clktcode" et "clctnom"
Messages postés
30
Date d'inscription
jeudi 13 décembre 2012
Statut
Membre
Dernière intervention
23 août 2014
0
Merci
ah ah j'ai trouvé !
Problème de casse sur les majuscule ^^
Messages postés
81
Date d'inscription
samedi 15 septembre 2012
Statut
Membre
Dernière intervention
20 octobre 2014
5
-1
Merci
Bonjour,

un cours avec pdo http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/lire-des-donnees-2

La réponse de la requête peut se lire ligne par ligne.


$reponse = $bdd->query('SELECT nom FROM jeux_video');

while ($donnees = $reponse->fetch()){
echo $donnees['nom'] . '<br />';
}

$reponse->closeCursor();


dans la ligne echo, on peut mettre des balises html comme des balises de liste.


Il vaut mieux utiliser un modèle mvc http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/organiser-son-code-selon-l-architecture-mvc
voire un modèle objet