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 :

fgets en boucle et update


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 119
    Par défaut fgets en boucle et update
    Je suis en train de développer un petit script pour mettre a jour une base de données au travers d'un fichier texte, j'ai un soucis seule la derniere ligne de mon fichier texte est mise à jour. Voici mon code :

    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
     
     
    $fp = fopen($_FILES["fichier"]["tmp_name"], "r");
     
    while (!feof($fp))
    {
             $file = fgets($fp, 4096);
    // on crée un tableau des élements séparés par des points virgule
     
    $liste = explode(";",$file);
     
    // premier élément
    $liste[0] = ( isset($liste[0]) ) ? $liste[0] : Null;
    $liste[1] = ( isset($liste[1]) ) ? $liste[1] : Null;
    $liste[2] = ( isset($liste[2]) ) ? $liste[2] : Null;
     ... volontairement coupé
     
    $sql = "UPDATE client SET code_client = \"$liste[0]\", marque = \"$liste[1]\", sda = \"$liste[2]\", numero_transfert = \"$liste[3]\", type = \"$liste[4]\", suivi_par = \"$liste[5]\", raison_sociale = \"$liste[6]\", complement = \"$liste[7]\", adresse1 = \"$liste[8]\", adresse2 = \"$liste[9]\", adresse3 = \"$liste[10]\", code_postal = \"$liste[11]\", ville = \"$liste[12]\", pays = \"$liste[13]\", civilite = \"$liste[14]\", nom = \"$liste[15]\", prenom = \"$liste[16]\", tel_fixe = \"$liste[17]\", tel_portable = \"$liste[18]\", fax = \"$liste[19]\", mail = \"$liste[20]\", mail_bis = \"$liste[21]\", date_naissance = \"$daten\", login = \"$liste[23]\", password = \"$liste[24]\" WHERE id_vp = \"$liste[25]\"";
     
               //exécution de la requête SQL:
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    }
    Merci de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Commence déjà par un simple
    pour voir ce qui se passe.

    Et utilises des boucles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for ($i = 0; $i < 26; $i++) {
       $liste[$i] = (isset($liste[$i]) ? $liste[$i] : "NULL";
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 119
    Par défaut
    Un echo $sql m'affiche uniquement le dernier update, merci pour la boucle j'optimiserais après mais pour le moment je n'arrive pas a faire fonctionner ce fichu script.

    Merci de ton aide

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as bien fait quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql = "UPDATE client SET code_client = \"$liste[0]\", marque = \"$liste[1]\", sda = \"$liste[2]\", numero_transfert = \"$liste[3]\", type = \"$liste[4]\", suivi_par = \"$liste[5]\", raison_sociale = \"$liste[6]\", complement = \"$liste[7]\", adresse1 = \"$liste[8]\", adresse2 = \"$liste[9]\", adresse3 = \"$liste[10]\", code_postal = \"$liste[11]\", ville = \"$liste[12]\", pays = \"$liste[13]\", civilite = \"$liste[14]\", nom = \"$liste[15]\", prenom = \"$liste[16]\", tel_fixe = \"$liste[17]\", tel_portable = \"$liste[18]\", fax = \"$liste[19]\", mail = \"$liste[20]\", mail_bis = \"$liste[21]\", date_naissance = \"$daten\", login = \"$liste[23]\", password = \"$liste[24]\" WHERE id_vp = \"$liste[25]\"";
     
    echo $sql;
     
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Boucle d'Update pour cryptage
    Par tiboudju dans le forum PL/SQL
    Réponses: 1
    Dernier message: 27/12/2012, 10h52
  2. Faire une boucle d'UPDATE?
    Par vincsb dans le forum Requêtes
    Réponses: 4
    Dernier message: 18/03/2012, 16h12
  3. PDO input - boucle mysql Update
    Par bouuuh dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2011, 12h06
  4. Réponses: 13
    Dernier message: 20/03/2006, 16h26
  5. boucle FOR et UPDATE
    Par nicerico dans le forum ASP
    Réponses: 14
    Dernier message: 20/08/2004, 11h18

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