Problème avec code php

Fermé
zgaw_1987 Messages postés 15 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 12 mai 2011 - 14 mars 2010 à 01:18
zgaw_1987 Messages postés 15 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 12 mai 2011 - 15 mars 2010 à 09:16
Bonjour,
svp j'ai un problème avec mon code php
je sais pas d'où viens le problème svp aidez moi j'ai 2 jours planté
voici mon code
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=location', 'root', '');
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}

// Si tout va bien, on peut continuer

// On récupère tout le contenu de la table jeux_video
$req = $bdd->prepare('SELECT * FROM vehicule where marque="renault"');
$req->execute(array($_GET["modele"], $_GET["marque"]));

echo '<ul>';

// On affiche chaque entrée une à une
while ($donnees = $req->fetch())
{
?>
<p>
<?php echo $donnees['marque']; ?><br />
<?php echo $donnees['modele']; ?>
</p>
<?php
}


$reponse->closeCursor(); // Termine le traitement de la requête

?>
merci
A voir également:

4 réponses

incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
14 mars 2010 à 10:49
Salut,

Je pense qu'il y a une erreur au niveau de la préparation de ta requete :

// On récupère tout le contenu de la table jeux_video
$req = $bdd->prepare('SELECT * FROM vehicule where marque="renault"');
$req->execute(array($_GET["modele"], $_GET["marque"]));

normalement, il faut utiliser un marqueur ou un "?". Ensuite, tu déclares un paramètre dans la requete et tu en appelles deux dans l'exécution. J'aurai mis :

$req = $bdd->prepare('SELECT * FROM vehicule where marque = :marque AND modele = :modele' );

$req->execute(array('modele' => $_GET['modele'], 'marque' => $_GET['marque']));


dans la ligne "<?php echo $donnees['marque']; ?><br /> ", il n'y a pas de "/" à <br>

dans la ligne "$reponse->closeCursor(); // Termine le traitement de la requête ", tu utilise $reponse qui n'a été initialisé nulle part avant. closeCursor doit être appliqué à ton objet $req

$req->closeCursor(); // Termine le traitement de la requête

J'espère que cela aidera à résoudre ton problème.

Cdlt

IC
0
zgaw_1987 Messages postés 15 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 12 mai 2011
14 mars 2010 à 22:18
merci pour ta repense
j'ai un autre question ?
comment je peux faire pour que la résultat n'affiche que si j'appuie sur le bouton chercher?
merci
0
incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
14 mars 2010 à 22:37
ben tu crées un formulaire html qui appelle ton script php quand il est soumis via un bouton submit "rechercher".

Quelque chose comme ceci :

<form name="frm_recherche" method="get" action="recherche.php">
<label for="marque">marque :</label>
<input type="text" name="marque" id="marque"/>
<label for="modele">modèle :</label>
<input type="text" name="modele" id="modele"/>
<input type="submit" name="rechercher" value="rechercher"/>
</form>

Tu peux avoir 2 fichiers : un pour ton formulaire et un pour ton script. Ton formulaire permet de saisir les critères de recherche et de les envoyer au script php qui lui affiche les résultats.

Tu peux aussi n'avoir qu'un seul fichier qui comprend en début le code PHP avec un test sur le tableau $_GET permettant de savoir si des données ont été postées et ensuite le code du formulaire. action du formulaire appelle donc la même page que celle qui est chargée.

Cordialement,

IC
0
zgaw_1987 Messages postés 15 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 12 mai 2011
15 mars 2010 à 09:16
merci ca marche très bien
0