Bonjour,
j'espère être dans le bon forum même si mon problème mélange un peu d'ajax, de php et de SQL / MySQL.
Je dois entrer dans ma base : des contacts, qui peuvent avoir plusieurs numéros de téléphone (un type et un n° pour chaque n°). Ces numéros sont écris dans des <input> de type text, et le name de chaque <input> est créé via Ajax :
On ne sait pas à l'avance combien de numéros de téléphone seront entrés, donc on peut avoir "n" fois ces deux champs type et tel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 if (a%2==0) { // Input où on écrira le type du téléphone input.setAttribute('name',"type"+window['i']); } else { // Input où on écrira le n° de téléphone input.setAttribute('name',"tel"+window['i']); window['i'] = window['i']+1; }
Je récupère ensuite les valeurs de chacun de tous les champs type et tel via mysql et php :
Et voila le problème : au niveau du if, je vois bien si le téléphone existe déjà dans la base, mais ça me l'affiche sans s'arrêter sur ma page, comme dans une boucle infinie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 $i=0; // On ne regarde que sur un champ puisqu'ils fonctionnent 2 par 2 while (isset($_POST['type'.$i])) { $type = $_POST['type'.$i]; $tel = $_POST['tel'.$i]; echo 'type '.$type.' tel '.$tel; // On regarde si le numéro de téléphone n'existe pas déjà $req_exi = mysql_query("SELECT num_tel FROM telephone WHERE num_tel='".$tel."';"); $nbexi = mysql_num_rows($req_exi); if ($nbexi != 0) { echo 'Le téléphone '.$tel.' existe déjà dans la base.'; } else je fais ma requête SQL d'insertion
Et je ne vois pas comment faire pour que si $nbexi est différent de 0 (donc que le téléphone existe dans la base), on affiche une seule fois sur la page 'Ce numéro existe déjà'.
Une aide serait la bienvenue![]()
Partager