Affichage d'element recherché par php

Résolu/Fermé
Signaler
Messages postés
135
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
13 décembre 2012
-
Messages postés
135
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
13 décembre 2012
-
Bonjour,
J'ai une base de données où il y a une table, j'ai créé un formulaire où je peux saisir le nom d'une personne pour la rechercher dans la table puis afficher ses informations dans une page web, qui est l'action de mon formulaire, contenant un tableau où doit etre affichées ces information, j'ai utilisé le code suivant (qui me parrait normal) mais cela ne marche pas, lorsque je clique sur le bouton rechercher, la page d'action s'affiche mais le tableau est vide :

<?php
$vari=$_POST['rech']; / rech est le nom de la zone de texte où je saisie le nom (dans le formulaire)
$base = mysql_connect ("localhost", "root", "");
mysql_select_db ("mabase",$base) ;
$req = mysql_query('SELECT * FROM matable WHERE nom="$vari"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while($data = mysql_fetch_array($req))
{echo '<tr><td>'.$data['mat'].'</td><td>'.$data['cin'].'</td><td>'.$data['nom'].'</td><td>'.$data['datenaissance'].'</td></tr>';}
?>

Veuillez m'aider svp
Merci d'avance

7 réponses

Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
136
Essayes de changer cette ligne :
$req = mysql_query('SELECT * FROM matable WHERE nom="$vari"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

Comme ça :
$req = mysql_query('SELECT * FROM matable WHERE nom=".$vari."') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
Je pense que c'est parce que tu as mal inclus ta variable.

https://openclassrooms.com/fr/courses#ss_part_1
Messages postés
135
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
13 décembre 2012
3
J'ai essayé avec le ".$vari." mais le problème est toujours là :(

merci pour votre aide :)
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
136
En fait c'est plutot comme ça : $req = mysql_query('SELECT * FROM matable WHERE nom="' .$vari. '"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
c'est la fonction de recuperation de données qui est mal uitlisé
mysql_fetch_array comme tu l'utilise renvoi un tableau et pour le lire il faut utilise les index
cette fonction possede plusieurs options voila un lien qui pourrait t'aider.

http://fr3.php.net/manual/fr/function.mysql-fetch-array.php
Messages postés
135
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
13 décembre 2012
3
wéé merci benvii ça marche avec "'.$vari.'" , merci bcp
merci a vous aussi lost :-)
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
136
C'est résolu ?
Messages postés
135
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
13 décembre 2012
3
oui :-) je l'ai marqué comme résolu