Requete sql php

nzenke - 8 nov. 2012 à 16:07
 nzenke - 13 nov. 2012 à 17:18
slt je suis un débutant en développement web et je suis entrain de développer une petite applie de gestion de contact en pur php procédural et je ne voudrai pas le faire en poo. mais je fais face à un problème;
mon problème est le suivant:
<?php
//on se connecte à la base de données,
try{
$base=new PDO('mysql:host=localhost;dbname=Mescontacts', 'root', 'yann237');
}
catch(Exeption $e){
die('Erreur:' .$e->getMessage());
}

//on affiche le contenu de la base de données



$req = $base->query('SELECT * FROM contacts');


while ($donnees = $req->fetch())
{
echo $data['nom'] ;
echo $data['prenom'];
echo $data['pays'];
echo $data['ville'];
echo $data['email'];
echo $data['telephone'];
echo $data['codepostal'];
echo $data['date'];
}

$req->closeCursor();
?>
ce bout de code fait partir du code de mon applie ,je voudrai l'utiliser pour afficher le contenu de ma base de données sur ma page d'accueil, mais la requête ne s'exécute pas , je ne sais pas pourquoi. quelqu'un peut-il m'aider svp?

merci d'avance.

15 réponses

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
9 nov. 2012 à 09:51
Hello,
Pour une question PHP, merci de poster dans la section PHP (je déplace ta demande).
De plus, n'hésites pas à utiliser les balises code (au-dessus de la zone de message, 3e icone en partant de la droite) pour plus de lisibilité.
Merci.


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
sylvain64520 Messages postés 130 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 7 juin 2013
9 nov. 2012 à 10:08
C'est la requête qui ne s'exécute pas où les données que tu tentes d'afficher qui sont incorrectes ?

Dans ton while(){} commence par modifier $données par $data ou vice-versa.
Tu implémentes un tableau que s'appelle $donnees et tu affiches $data. PHP ne traduit pas tout seul^^
0
slt,merci à toi buno pour le renseignement j'ai pris note.
0
slt, sylvain en fait c'est la requête qui ne s'exécute pas, et j'ai eu à permuter les variables $données et $data dans la boucle mais sans résultat satisfaisant.

merci pour l'attention porté à mon post.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Je pense que sa fonctionnerais mieux comme ça :
<?php
// Connection au serveur
$dns = 'mysql:host=localhost;dbname=Mescontacts';
$utilisateur = 'root';
$motDePasse = 'yann237';
$connection = new PDO($dns, $utilisateur, $motDePasse);

//on affiche le contenu de la base de données
$sth = $connection->prepare("SELECT * FROM  jejescriptmembres");
$sth->execute();
$data = $sth->fetch(PDO::FETCH_BOTH);
print_r($data);
print("\n");

?> 
0
remplace jejescriptmembres par contacts dans la ligne :
$sth = $connection->prepare("SELECT * FROM  jejescriptmembres");
0
tu as aussi cette solution :
<?php
// Connection au serveur
$dns = 'mysql:host=localhost;dbname=Mescontacts';
$utilisateur = 'root';
$motDePasse = 'yann237';
$connection = new PDO($dns, $utilisateur, $motDePasse);

//on affiche le contenu de la base de données
$sth = $connection->prepare("SELECT * FROM  contacts");
$sth->execute();
$data = $sth->fetch(PDO::FETCH_ASSOC);
print_r($data);
print("\n");

?> 
0
Mais si j'ai bien compris ce que tu veux, je crois que ceci devrai t'aider :
<?php
// Connection au serveur
$dns = 'mysql:host=localhost;dbname=Mescontacts';
$utilisateur = 'root';
$motDePasse = 'yann237';
$connection = new PDO($dns, $utilisateur, $motDePasse);

//on affiche le contenu de la base de données
$sql =("SELECT * FROM  contacts");
$stmt = $connection->prepare($sql, array(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL));
    $stmt->execute();
    while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
      $data = $row[0] . " " . $row[1] . " " . $row[2] .  " " . $row[3] .  " " . $row[4] .  " " . $row[5] .  " " . $row[6] .  " " . $row[7] .  " " . $row[8] . "
";
      print $data;
    }
    $stmt = null;

?>


dans la ligne
$data = $row[0] . " " . $row[1] . " " . $row[2] .  " " . $row[3] .  " " . $row[4] .  " " . $row[5] .  " " . $row[6] .  " " . $row[7] .  " " . $row[8] . "
";

tu remplaces les chiffres par le numéro de colonne désiré
0
slt, merci jejescript, pour le premier bout de code car c'est lui qui marche et voici le résultat qu'il me donne:


Array ( [id] => 15 [0] => 15 [nom] => yannick [1] => yannick [prenom] => yann [2] => yann [pays] => cmer [3] => cmer [ville] => ydé [4] => ydé [email] => y@gmail.com [5] => y@gmail.com [telephone] => 96.12.84.2 [6] => 96.12.84.2 [codepostal] => 237 [7] => 237 [date] => 2012-11-08 [8] => 2012-11-08 )

ceci me donne un nouveau problème celui d'afficher tout cela dans un tableau propre et parfaitement lisible. comment je fais .

Merci encore...
0
As tu essayer le dernier code que je t'ai envoyé ?


Cordialement,

JéjéScript.

Si on ne réussi pas du premier coup, il faut se rappeler que le grand chêne aussi au début était un gland !
0
Oui, j'ai essayé les deux derniers ils font planter l'applie.
0
Bonjour nzenke, si le sujet est résolu n'hésite pas à cocher résolu.


Cordialement,

JéjéScript.

Si on ne réussi pas du premier coup, il faut se rappeler que le grand chêne aussi au début était un gland !
0
bonjour jeje,merci bien,le sujet a été résolu.mais seulement je ne vois pas la case à cocher que tu me demande de cocher.


cordialement,
nzenke.
0
sylvain64520 Messages postés 130 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 7 juin 2013
13 nov. 2012 à 16:11
et pour afficher, tu reprends ce que tu avais fais dans le while :
foreach($data as $value) 
{ 
echo $value['nom'] ; 
echo $value['prenom']; 
echo $value['pays']; 
echo $value['ville']; 
echo $value['email']; 
echo $value['telephone']; 
echo $value['codepostal']; 
echo $value['date']; 
} 
0
merçi, sylvain pour la disponibilité,mais le code je l'ai essayé,il ne fonctionne pas.par contre celui-ci fonctionne bien mais le résultat n'est pas beau à voir c'est ça mon soucis cmnt l'arranger?
$req = $connection->prepare("SELECT * FROM  contacts");
$req->execute();
$data = $req->fetchAll(PDO::FETCH_BOTH);
print_r($data);
print("\n");
et voici ce qu'il affiche donc sur mon écran:

Array ( [0] => Array ( [id] => 13 [0] => 13 [nom] => bobo [1] => bobo [prenom] => tata [2] => tata [pays] => pays-bas [3] => pays-bas [ville] => dla [4] => dla [email] => tata@yahoo.fr [5] => tata@yahoo.fr [telephone] => 9612 [6] => 9612 [codepostal] => 237 [7] => 237 [date] => 2012-11-08 [8] => 2012-11-08 ) [1] => Array ( [id] => 14 [0] => 14 [nom] => bobo [1] => bobo [prenom] => tata [2] => tata [pays] => pays-bas [3] => pays-bas [ville] => dla [4] => dla [email] => tata@yahoo.fr [5] => tata@yahoo.fr [telephone] => 96.12.84.2 [6] => 96.12.84.2 [codepostal] => 237 [7] => 237 [date] => 2012-11-08 [8] => 2012-11-08 ) [2] => Array ( [id] => 16 [0] => 16 [nom] => dqsdqsd [1] => dqsdqsd [prenom] => dsdsd [2] => dsdsd [pays] => dsqdqsd [3] => dsqdqsd [ville] => [4] => [email] => [5] => [telephone] => [6] => [codepostal] => 0 [7] => 0 [date] => 2012-11-08 [8] => 2012-11-08 ) [3] => Array ( [id] => 17 [0] => 17 [nom] => patson [1] => patson [prenom] => petit [2] => petit [pays] => france [3] => france [ville] => paris [4] => paris [email] => patson@yahoo.fr [5] => patson@yahoo.fr [telephone] => 96.28.01.87 [6] => 96.28.01.87 [codepostal] => 237 [7] => 237 [date] => 2012-11-09 [8] => 2012-11-09 ) )

comment mettre tout ça dans un tableau propre?
0
Rejoignez-nous