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 :

Test existence dans la base [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut Test existence dans la base
    Bonjour,

    J'ai un petit soucis au niveau d'un test dans mon programme.

    Je vous mets mon code vous comprendrez mieux ; le test ne marche pas, l'insertion se fait automatiquement même si les données existent.

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    $row = 1;
    $handle = fopen("upload/groupe.csv", "r");
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
    	$row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
    	list($champ1, $champ2, $champ3) = explode(';',$data[$c]);
    	//test existence des données :
    	$test=mysql_query("SELECT * from tab_groupe WHERE sigle='".$champ1."' AND date_fondation='".$champ2."' AND capital='".$champ3."'") or die(mysql_error());
    	$test2=mysql_fetch_array($test);
     
    //Si les données sont inexistantes dans la BDD, insertion :
    if($test2 == '0') {
     
    $req=mysql_query("INSERT INTO tab_groupe (id_groupe, sigle, date_fondation, capital) VALUE ('', '$champ1', '$champ2', '$champ3')") or die(mysql_error());
     
        }
    if($test2 != '0') {
     
    }
    }}
    fclose($handle);
    ?>
    Voila je vous donne un exemple de la valeur des données pour champ1, champ2 et champ3:
    champ1 = "A.C.I. Laboratoires France et International"
    champ2 = "1994"
    champ 3 = "100000"

    Merci pour votre aide !

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    tu veux pas plutôt compter le nombre de ligne quand tu fais ton select ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $test2=mysql_num_rows($test);
     
    if($test2 === 0) {
    //etc ..
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Merci pour la soluce effectivement je m'étais plantée !!!

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

Discussions similaires

  1. Tester si une table existe dans une base access
    Par codial dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/03/2007, 08h39
  2. Réponses: 1
    Dernier message: 23/10/2005, 00h55
  3. est ce que un champs existe dans la base?
    Par cha_cha dans le forum Langage SQL
    Réponses: 9
    Dernier message: 03/10/2005, 11h25
  4. comment savoir si une table existe dans la base?
    Par isa21493 dans le forum ASP
    Réponses: 6
    Dernier message: 01/09/2005, 17h09
  5. Réponses: 2
    Dernier message: 20/05/2005, 10h18

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