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 :
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;
}
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.

Je récupère ensuite les valeurs de chacun de tous les champs type et tel via mysql et php :
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 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.
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