salut ........... je viens de debuter en php et malheuresement ça se sent .
bon , passons a ma question pour ne pas vous faire perdre votre precieux temps.
je souhaite effectuer une recherche dans une base de donnees mysql (
enfin bon en utilisant phpmyadmin ) plius precisement dans une table
contenant comme champs : nom , prenom , region . le probleme
c'est que le racherche s'effectue a partir d'un formulaire
contenant des zones de textes "nom" "prenom" et "region" ........ et si
je tape seulement le nom les enregistrements contenant le nom en
question s'affiche , mais si je tape le nom et le prenom seuls les
enregistrements qui comportent le nom ET le prenom qui s'affichent et
ainsi de suite ( cas ou je tape la region , ou bien la region et le
prenom ,..... )
voila j'espere que j'etais assez clair ........ merci d'avance .
Franchement, je sais pas si je suis mal réveillé, mais je capte pas un mot de ta question !
Tu veux chercher quoi? Si jamais tu peux directement faire des requêtes
SQL dans phpmyadmin, au lieu de passer par l'interface graphique.
Bonjour, je suis désoler, mais je n'ai pas super bien compris.
"et si je tape seulement le nom les enregistrements contenant le nom en
question s'affiche , mais si je tape le nom et le prenom seuls les
enregistrements qui comportent le nom ET le prenom qui s'affichent et
ainsi de suite ( cas ou je tape la region , ou bien la region et le
prenom ,..... )"
tu me trouveras peut être un peu bête mais ca est ce que c'est ce que tu veux ?
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
$sql .=" AND champs_table = ".$champs2_formulaire;
}else{
$sql .="champs_table = ".$champs2_formulaire;
}
ensuite je te laisse faire... desolé je repond ausi clairement que la
question mais j'ai pas trop compris la question... enfin tu connai le
principe, tu devrais pouvoir t'en sortir avec ca !
la recherche s'effectue dans une table qui a 3 champs "nom" "prenom" "region"
bon ce que je n'arrive pas a faire c'est que si je remplie seulement la
zone de texte dediée au nom la recherche s'effectue seulement dans le
champ "nom" de la table et affiche le resultat mais si je remplie la
zone de texte dediée au nom ET aussi le prenom la recherche s'effectue
cette fois ci dans les deux champs "nom" ET "prenom" de la table et
affiche le resultat .
Pense juste aux failles de SQL injection avec cette méthode (vérifie les caratères et applique la fonction préférée de FhX (lol) : mysql_real_escape_string()) (mdr je vais pas te lâcher avec ça ^^)
Arf, une fonction qui va me suivre jusqu'à la fin :p
Jusqu'au jour où on utilisera plus MySQL d'office avec PHP :D
De toute facon, avec ma méthode tu peux le faire aussi via une boucle et un tableau associatif, à coup de foreach et de $i++; c'est aussi faisable tout en étant aussi propre (voir plus !) :)
oups j'ai oublier de signaler une chose c'est que le code qui proposé
par FhX marche mieux si on utilise : if ( $_POST['nom']!=='' ) au lieu
de : if ( isset($_POST['nom']) ) ....mais ne me demandez pas pourquoi
parce que j'en ai aucune idée !
"if ( $_POST['nom']!=='' ) au lieu de : if ( isset($_POST['nom']) )
....mais ne me demandez pas pourquoi parce que j'en ai aucune idée !"
Nononon, si tu veux utiliser ta méthode correctement, tu dois faire :
if ( isset($_POST['nom']) && !empty($_POST['nom']) ) { // }