Recherche avancé

[Résolu]
Signaler
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009
-
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009
-
bonjour a tous
je veux bien rechercher client par nom et  prénom
càd :j'ai un champ au je vais saisir le nom et le prénom mai dans ma table client le nom et le prénom est chacun dans un colonne
comment faire ça dan ma requête 
merci pour tous

15 réponses

Messages postés
232
Date d'inscription
jeudi 30 août 2007
Statut
Membre
Dernière intervention
31 juillet 2009

Et bien il va faaloir que tu fasses un explode sur ton champ de texte, exemple :

$rep = explode(' ',$_POST['rech_utili']); //il faut impérativement qu'il y est qu'un seul espace entre le nom et le prénom, pourquoi pas le faire avec un regex et que le nom soit avant le prénom

puis ensuite faire ta requete comme suit :

"SELECT * FROM clients WHERE nom like '".$_rep[0]."' AND prenom LIKE '".$_rep[1]."'";
Messages postés
232
Date d'inscription
jeudi 30 août 2007
Statut
Membre
Dernière intervention
31 juillet 2009

Et bien la fonction explode permet de récupérer dans un tableau les différents éléments séparer par (dans ton cas) un espace. ... voilà...

ps : pense au tag résolu
Messages postés
224
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
8 septembre 2014
1
salut

"SELECT * FROM clients WHERE nom like '".$_POST['nom']."' AND prenom LIKE '".$_POST['prenom']."'";
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

comment ça ?il peut lire nom et prenom
comment il peut le recuperer voici mon form:

<form action="verif_rech_util.php" method="post">
Veuiller saisir le Nom/prénom d'utilisateur

</form>
donc quand je mis ça dan ma page verif_rech_util:

"SELECT * FROM clients WHERE nom like '".$_POST['nom']."' AND prenom LIKE '".$_POST['prenom']."'";
le message affiché

Notice: Undefined index: nom in C:\Program Files\EasyPHP 2.0b1\www\site location\verif_rech_util.php on line 19

Notice: Undefined index: prenom in C:\Program Files\EasyPHP 2.0b1\www\site location\verif_rech_util.php on line 19

merci pour tou
Messages postés
232
Date d'inscription
jeudi 30 août 2007
Statut
Membre
Dernière intervention
31 juillet 2009

oui c'est normal que ça déconne puisque $_POST['nom'] et $_POST['prenom'] n'existe pas ... toi tu as simplement  $_POST['rech_utili'] ...

Avec la façon de theGorgo il te faut deux champ de texte mais toi apparemment c'est pas ce que tu veux ...

il te faut donc faire pour ton cas un truc comme :

"SELECT CONCAT(nom,' ',prenom) AS lenom FROM clients WHERE lenom like '".$_POST['rech_utili']."' ;"
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

bonjour
merci pour ta réponse mais quand je saisi le nom et le prénom qui ce trouve dans la base il m'affiche le msg d'erreur  (lecture impossible)
voici qu'est ce que j'ai fait:

$rech_utili=$_POST['rech_utili'];
$select=$db->prepare("SELECT CONCAT(nom,' ',prenom) AS lenom FROM utilisateur WHERE lenom like '".$_POST['rech_utili']);

$select->execute();
$result = $select->fetchAll();
if(!$result)

{
echo "Lecture impossible";   ('est ce msg qui il m'affiche)
}
else
{
echo "bien venu";
}
}

donc il y'a un erreur je sait pas le quel pouvez vous m'aider svp merci pour tous
Messages postés
232
Date d'inscription
jeudi 30 août 2007
Statut
Membre
Dernière intervention
31 juillet 2009

Et bien la d'après la requête que tu as écrite c'est noraml qu'il y est une erreur puisqu'elle n'est pas écrite correctement

Essaye ça :

$select=$db->prepare("SELECT CONCAT(nom,' ',prenom) AS lenom FROM utilisateur WHERE lenom like '".$_POST['rech_utili'].'";");
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

oui j'ai déja corrigé erreur mai c'est la mémé erreur s'affiche
merci pour tou
Messages postés
232
Date d'inscription
jeudi 30 août 2007
Statut
Membre
Dernière intervention
31 juillet 2009

tu es bien en base de données mysql ?

si c'est le cas il ne faut pas récupérer tes données comme tu le fait ...

$base = mysql_connect("server","user","pass");
// test la connection
if (!$base )
  die ("connection impossible");
// Connecte la base
mysql_select_db("nomBD") or die ("pas de connection");
//
$sql = "SELECT * FROM tarequete";
$res = mysql_query($sql,$base);

while ($row = mysql_fetch_array($res))
{
   //ici tu fais afficher tes lignes
}
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

bonjour à tous
j'ai encore trouver la réponse qui peux m'aider
merci pour tous
Messages postés
232
Date d'inscription
jeudi 30 août 2007
Statut
Membre
Dernière intervention
31 juillet 2009

tu as essayé ce que j'ai mis avant ? est tu en bd mysql ?
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

oui j'ai fait que vous m'avais mis et oui j'ai en bd mysql
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

merci trés bien c'est bien passé mai je veux juste comprendre la fonction de explode
vraiment merci pour tous
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

merci
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

bonjour
j'ai petit problémé et que lorsque je saisi que nom qui n'existe pas dans la base il m'affiche cette erreur voici le code:
Notice: Undefined offset: 1 in C:\Program Files\EasyPHP 2.0b1\www\site location\verif_rech_util_detail.php on line 78

Lecture impossible



<?php

include("connexion.php");
if(isset($_POST['go1']) )
{
$rep = explode(' ',$_POST['rech_utili']);
$rech_cin=$_POST['rech_cin'];

$select=$db->prepare("SELECT * FROM utilisateur WHERE nom like '".$rep[0]."' AND prenom LIKE '".$rep[1]."'or cin LIKE '".$rech_cin."'");

$select->execute();
$result = $select->fetchAll();
if(!$result)

{
echo "Lecture impossible";
}
else
{
foreach($result as $ligne)
{
$id_utilisateur=$ligne['id_utilisateur'];

echo header('location:affich_detail_util.php?id_utilisateur='.$id_utilisateur.'');
}

}
}
?>

merci pour tous