PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 05-02-2010 11:57:26

koka
Membre
Inscription : 05-02-2010
Messages : 3

Fonction OR

Bonjour à tous,

J'ai un problème pour ma fonction OR dans ma base de données

Je vous explique j'ai créé une base de donnée MYSQL dans laquelle j'ai trois champs pour trois numéros de téléphone.
Champs 1 : teldom pour le téléphone domicle
Champs 2 : telport pour le téléphone portable
Champs 3 : telprof pour le téléphone professionel

Je souhaiterais créer une requête ou lorsque je remplie un formulaire avec un numéro de téléphone il recherche dans la base de données si le téléphone y est soit dans teldom soit dans telport soit dans telprof et il affiche le résultat.

j'ai donc créé le formulaire comme ceci

<input type='text' name='teldom' size='20' value='00.00.00.00.00'>

Et ma requête sql comme ceci

$sql = "SELECT nom,id,telport,teldom,telprof FROM clients_tbl WHERE telport = '$telport' OR teldom = '$teldom' OR telprof = '$telprof'";

Mon problème et que quand je tape un numéro de tel dans le formulaire il ne trouve que les teldom si je tape un telport ou un telprof qui se trouve dans la base de données il ne le trouve pas.

Je pense que le problème vient du formulaire car dans  le 'name' de input,  il n'y a le 'teldom' et c'est le seul qu'il retrouve et qu'il affiche. Le problème c'est que je ne sais pas comment inclure le telprof et telport dans le input du formulaire.

Je ne sais pas si j'ai été très clair. Si quelqu'un a la solution ce serait vraiment super.

Merci pour votre aide. car la je suis vraiment bloqué

Hors ligne

#2 05-02-2010 13:01:30

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Fonction OR

$tel = mysq_escape_string($_POST['tel']);
$sql = "SELECT nom, id, telport, teldom, telprof FROM clients_tbl WHERE telport='$tel' OR teldom='$tel' OR telprof='$tel'";
echo '<input type="text" name="tel" size="20" value="00.00.00.00.00">';

Voici qui devrait faire l'affaire. ^^
Si tu ne mets qu'un seul input il est normal de n'utiliser qu'une seule variable vu qu'il n'y a qu'un seule résultat.

Hors ligne

#3 05-02-2010 13:40:20

koka
Membre
Inscription : 05-02-2010
Messages : 3

Re : Fonction OR

Merci pour cette réponse très rapide

alors dans mon formulaire j'ai mis
echo '<input type="text" name="tel" size="20" value="00.00.00.00.00">';

et dans ma pages de résultat avec la requete j'ai mis
$tel = mysq_escape_string($_POST['tel']);
$sql = "SELECT nom,id,telport,teldom,telprof FROM clients_tbl WHERE telport='$tel' OR teldom='$tel' OR telprof='$tel'";

Et j'ai cela qui s'affiche

Fatal error: Call to undefined function: mysq_escape_string() in /home/clients/site.fr/http/maison_bois/bdd/bdd_recherche_tel.php4 on line 97

J'aurais certainement du le préciser avant mais je suis débutant big_smile
Si je met le code en entier cela serait peut etre plus simple pour vous?

Dernière modification par koka (05-02-2010 13:40:59)

Hors ligne

#4 05-02-2010 14:30:37

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Fonction OR

Une erreur de frappe de ma part, il manque un "l". ^^

La fonction est : mysql_escape_string()

Hors ligne

#5 05-02-2010 15:00:54

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Fonction OR

Saluton,
J'en profite pour signaler que OR n'est pas une fonction mais un opérateur.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 05-02-2010 18:35:27

koka
Membre
Inscription : 05-02-2010
Messages : 3

Re : Fonction OR

@xTG  ca fonctionne. Merci beaucoup pour votre aide , votre rapidité et votre efficacité.

@Maljuna Kris merci pour le renseignement , je pensais que c'était une fonction.

Hors ligne

Pied de page des forums