Récupérer données
Bonjour
Je m'initie au PHP et Mysql, donc débutant.
J'ai créé un formulaire pour faire une recherche multicritères dans une base de donnée MYSQL (nom, prénom, age, adresse, code postal)
Pas de problème.
L'utilisateur choisi les critères de recherche.
Je teste si la requête est bonne. Jusque là pas de problème.
Admettons que l'utilisateur recherche le prénom TOTO et le nom TATA sur la base. S'ils existent, je voudrais récupérer tous les champs de la ligne où se trouvent TOTO et TATA pour les afficher en retour.
Quelle est la fonction qui permet de faire cela.
Merci à vous
Il en faut peu pour être heureux !!!!!
Merci Beaucoup.
J'arrive maintenant à récupérer les données... mais elles s'affichent en double...
Pourquoi ?
Je mets le code complet que j'ai "pompé" en partie sur internet...
<?php
$nom = $_POST['nom'];
$champ1 = "nom";
$possesseur = $_POST['possesseur'];
$champ2 = "possesseur";
$prix = $_POST['prix'];
$champ3 = "prix";
if($_POST['et_ou1'] == 'AND')
{
if(empty($_POST['nom']))
{
$nom = 1;
$champ1 = 1;
}
}
else
{
if(empty($_POST['nom']))
{
$nom = 1;
$champ1 = 2;
}
}
if($_POST['et_ou1'] == 'AND')
{
if(empty($_POST['possesseur']))
{
$possesseur = 1;
$champ2 = 1;
}
}
else
{
if(empty($_POST['possesseur']))
{
$possesseur = 1;
$champ2 = 2;
}
}
if($_POST['et_ou2'] == 'AND')
{
if(empty($_POST['prix']))
{
$prix = 1;
$champ3 = 1;
}
}
else
{
if(empty($_POST['prix']))
{
$prix = 1;
$champ3 = 2;
}
}
$host = 'xxx';
$user = 'xxx';
$pass = 'xx';
$db = 'xxx';
$tables = 'xxx';
// connection à la DB
mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = "SELECT * FROM $tables WHERE $champ1 = '$nom' ".$_POST["et_ou1"]." $champ2 = '$possesseur' ".$_POST["et_ou2"]." $champ3 = $prix";
if($nom=="" AND $possesseur=="" AND $prix=="")
echo 'Vous devez preciser en moins un critére de recherche !!';
else
{
$result = mysql_query($select) or die ('Erreur : '.mysql_error());
$total = mysql_num_rows($result);
if($total)
{
echo "<table width=\"932\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<!--DWLayoutTable-->
<tr>
<td width=\"15\" height=\"19\"> </td>
<td width=\"300\"> </td>
<td width=\"9\"> </td>
<td width=\"100\"> </td>
<td width=\"12\"> </td>
<td width=\"70\"> </td>
<td width=\"9\"> </td>
<td width=\"50\"> </td>
<td width=\"9\"> </td>
<td width=\"140\"> </td>
<td width=\"9\"> </td>
<td width=\"200\"> </td>
<td width=\"9\"> </td>
</tr>";
echo "<tr>
<td height=\"22\"> </td>
<td align=\"center\" valign=\"top\" bgcolor=\"#6699FF\"><b>nom</b> </td>
<td> </td>
<td align=\"center\"valign=\"top\" bgcolor=\"#6699FF\"><b>possesseur</b> </td>
<td> </td>
<td align=\"center\"valign=\"top\" bgcolor=\"#6699FF\"><b>Console</b> </td>
<td> </td>
<td align=\"center\"valign=\"top\" bgcolor=\"#6699FF\"><b>prix</b> </td>
<td> </td>
<td align=\"center\"valign=\"top\" bgcolor=\"#6699FF\"><b>Nbre Joueurs Max</b> </td>
<td> </td>
<td align=\"center\"valign=\"top\" bgcolor=\"#6699FF\"><b>Commentaires</b> </td>
<td> </td>
</tr>";
echo "<tr>
<td height=\"22\"> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>";
while($row = mysql_fetch_array($result))
{
echo '<td height="22"> </td>
<td align="center" valign="top">'.$row['nom'].' </td>
<td> </td>
<td align="center" valign="top">'.$row['possesseur'].' </td>
<td> </td>
<td align="center" valign="top">'.$row['console'].' </td>
<td> </td>
<td align="center" valign="top">'.$row['prix'].' </td>
<td> </td>
<td align="center" valign="top">'.$row['nbre_joueurs_max'].' </td>
<td> </td>
<td align="center" valign="top">'.$row['commentaires'].' </td>
<td> </td>
</tr>';
}
echo '<tr>
<td height="157"> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>';
}
else echo '<div align="center"><span class="Style1">Aucun résulat ne corresponds à votre recherche !!... </span>
</div>';
mysql_free_result($result);
mysql_close();
}
?>
Il faut surement faire un group by sur ta requete SQL afin d'éliminer les doublons.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: