IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

mysql_num_rows()!=0, écrire ce résultat une seule fois [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut mysql_num_rows()!=0, écrire ce résultat une seule fois
    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

  2. #2
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185

  3. #3
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Désolée, je n'ai pas mis le code en entier, mais j'ai bien mis le i++ après dans le while =) Merci quand même ^^

    [EDIT] Hum ... simplement mon incrémentation qui n'était PAS au bon endroit. C'est blasant. [/EDIT]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher une seule fois le résultat d'une colonne
    Par spawns dans le forum Langage
    Réponses: 2
    Dernier message: 23/08/2014, 14h24
  2. Afficher un résultat une seule fois dans while
    Par kiwilicious dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 16/06/2014, 12h34
  3. J'aimerais que le résultat n'apparaisse qu'une seule fois
    Par beegees dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/01/2009, 14h29
  4. Réponses: 18
    Dernier message: 10/02/2005, 13h22
  5. Réponses: 2
    Dernier message: 30/11/2004, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo