Requete sql php

Signaler
-
 nzenke -
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

Messages postés
15024
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
29 avril 2021
94
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...
Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013

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^^
slt,merci à toi buno pour le renseignement j'ai pris note.
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.
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");

?> 
remplace jejescriptmembres par contacts dans la ligne :
$sth = $connection->prepare("SELECT * FROM  jejescriptmembres");
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");

?> 
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é
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...
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 !
Oui, j'ai essayé les deux derniers ils font planter l'applie.
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 !
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.
Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013

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']; 
} 
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?