Insertion d'un fichier csv dans BDD - Page 2

Précédent
  • 1
  • 2
  1. jeremy.s Messages postés 1248 Statut Membre 79
     
    Il faut le faire en deux fois ;-)

    Tu fais deux requetes, donc deux fois :
    $sql1="INSERT INTO ma table VALUES (mes valeurs)";
    $req1=mysql_query($sql1)or die (mysql_error());

    $sql2="INSERT INTO ma table 2 VALUES (mes autres valeurs)";
    $req2=mysql_query($sql2)or die (mysql_error());

    0
  2. debutant
     
    $sql="INSERT INTO couts VALUES ('".$tableauValeurs[0]."', '".$tableauValeurs[12]."', '".$tableauValeurs[15]."')";

    $sql1="INSERT INTO rub VALUES ('".$tableauValeurs[9]."', '".$tableauValeurs[10]."', '".$tableauValeurs[16]."', '".$tableauValeurs[17]."')";

    $sql2="INSERT INTO rem VALUES ('".$tableauValeurs[13]."', '".$tableauValeurs[14]."')";

    $req=mysql_query($sql)or die (mysql_error());
    $req2=mysql_query($sql1)or die (mysql_error());
    $req3=mysql_query($sql2)or die (mysql_error());

    }

    //vérification et réponse
    if ($req)
    {
    echo"Ajout dans la base de données effectué avec succès";
    }
    else
    {
    echo"Echec dans l'ajout dans la base de données";
    }

    if ($req2)
    {
    echo"Ajout dans la base de données effectué avec succès";
    }
    else
    {
    echo"Echec dans l'ajout dans la base de données";
    }

    if ($req3)
    {
    echo"Ajout dans la base de données effectué avec succès";
    }
    else
    {
    echo"Echec dans l'ajout dans la base de données";
    }

    Sa rajoute les lignes mais pas les valeurs(qui sont vides ou des zéro)
    0
  3. jeremy.s Messages postés 1248 Statut Membre 79
     
    Bah ca veut dire que ton $tableauValeurs est vide alors !
    Fais un print_r($tableauValeurs) pour voir ce qu'il y a dedans
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. debutant
     
    "Numéro du centre de facturation","Numéro de référence de la facture","Nom du client","Numéro de l'utilisateur","Nom et prénom de l'utilisateur","Numéro de référence de l'utilisateur","Numéro de téléphone","Période de la facture","Nom de la rubrique","Nom de la sous-rubrique","Quantité ou volume","Montant brut","Taux de remise","Montant des remises","Montant Net"," Nom de la rubrique de niveau 1"," Nom de la rubrique de niveau 2"
    "7.22548.11",20001720010313," SERVICE FINANCIER","7.22548.11.00.100006","1 COMMUNE DE SEVRAN","0842048077-0842048077",143101060,27/03/13,"Communications",,,"47,9",,"-9,35","38,55",,
    "7.22548.11",20001720010313," SERVICE FINANCIER","7.22548.11.00.100006","1 COMMUNE DE SEVRAN","0842048077-0842048077",143101060,27/03/13,"Communications",,,"47,9","19,52","-9,35","38,55","Depuis le fixe",
    "7.22548.11",20001720010313," SERVICE FINANCIER","7.22548.11.00.100006","1 COMMUNE DE SEVRAN","0842048077-0842048077",143101060,27/03/13,"Communications",,,0,0,0,0,"Depuis le fixe","Communications incluses"
    "7.22548.11",20001720010313," SERVICE FINANCIER","7.22548.11.00.100006","1 COMMUNE DE SEVRAN","0842048077-0842048077",143101060,27/03/13,"Communications","Appels Fixes vers Fixes",03:52:06,0,0,0,0,"Depuis le fixe","Communications incluses"
    "7.22548.11",20001720010313," SERVICE FINANCIER","7.22548.11.00.100006","1 COMMUNE DE SEVRAN","0842048077-0842048077",143101060,27/03/13,"Communications","Appels Fixes vers International",01:29:51,0,0,0,0,"Depuis le fixe","Communications incluses"
    "7.22548.11",20001720010313," SERVICE FINANCIER","7.22548.11.00.100006","1 COMMUNE DE SEVRAN","0842048077-0842048077",143101060,27/03/13,"Communications","Appels Fixes vers Interne",03:13:18,0,0,0,0,"Depuis le fixe","Communications incluses"

    voici les données que je dois importé dans déférent tables(rub,rem,couts)

    et le code :

    $sql="INSERT INTO couts VALUES ('".$tableauValeurs[11]."', '".$tableauValeurs[14]."')";
    $sql1="INSERT INTO rub VALUES ('".$tableauValeurs[9]."', '".$tableauValeurs[10]."', '".$tableauValeurs[16]."', '".$tableauValeurs[17]."')";
    $sql2="INSERT INTO rem VALUES ('".$tableauValeurs[13]."', '".$tableauValeurs[14]."')";

    $req=mysql_query($sql)or die (mysql_error());
    $req2=mysql_query($sql1)or die (mysql_error());
    $req3=mysql_query($sql2)or die (mysql_error());

    Mais sa insère les lignes mais pas les données....
    0
  6. jeremy.s Messages postés 1248 Statut Membre 79
     
    Fais plutot un print_r de chaque variable que tu veux inséré, genre print_r($tableauValeurs[11]) pcq le tableau est un peu long pour chercher le 11 et les autres x)
    0
  7. debutant
     
    quand je fait print_r j'ai une page blanche qui s'affiche...
    0
  8. jeremy.s Messages postés 1248 Statut Membre 79
     
    Ah j'ai mieux :)

    print_r($sql);
    print_r($sql1);
    print_r($sql2);

    Mais avant de les executé
    0
  9. debutant
     
    $sql="INSERT INTO couts VALUES ('".$tableauValeurs[11]."', '".$tableauValeurs[14]."')";
    $sql1="INSERT INTO rub VALUES ('".$tableauValeurs[9]."', '".$tableauValeurs[10]."', '".$tableauValeurs[16]."', '".$tableauValeurs[17]."')";
    $sql2="INSERT INTO rem VALUES ('".$tableauValeurs[13]."', '".$tableauValeurs[14]."')";

    print_r($sql);
    print_r($sql1);
    print_r($sql2);

    $req=mysql_query($sql)or die (mysql_error());
    $req2=mysql_query($sql1)or die (mysql_error());
    $req3=mysql_query($sql2)or die (mysql_error());

    ça va donc se présenter comme ça ?
    0
  10. jeremy.s Messages postés 1248 Statut Membre 79
     
    Ouais voilà :)
    0
  11. debutant
     
    INSERT INTO couts VALUES ('', '')INSERT INTO rub VALUES ('', '', '', '')

    voila ce qui s'affiche....
    Tout en bas de la page il y a écrit Query was empty
    0
  12. jeremy.s Messages postés 1248 Statut Membre 79
     
    Bah voila, les élements de ton tableau que tu veux inséré sont vide ;-)
    0
  13. debutant
     
    Bonjour, tout est fini mais une dernière question...
    Je dois sélectionner le fichier avec un bouton parcourir. Or, dans mon code il y a le chemin et donc le bouton parcourir ne sert plus a rien...
    Comment faire pour changer ?

    $fichier = fopen("C:\Fichier\ex.csv", "r");

    merci
    0
  14. jeremy.s Messages postés 1248 Statut Membre 79
     
    Attention, le bouton parcourir agit sur l'ordinateur de l'utilisateur, afin de prendre l'élement sélectionner sur l'ordi de l'utilisateur et de le copier sur ton serveur.

    Si c'est ce que tu veux faire, tu récupères avec le fichier sous cette forme : $_FILES[nom du fichier][informations du fichier]
    Donc si tu as un <input type="file" name="monFichier">
    Tu le récupère avec $_FILES['monFichier']['tmp_name'] sur le quel tu peux faire un fopen
    0
  15. debutant
     
    //Le chemin d'acces

    $fichier = fopen($_FILES['monFichier']['tmp_name'], "r");

    Merci pour de votre aide, ca fonctionne :)
    0
  16. jeremy.s Messages postés 1248 Statut Membre 79
     
    Ouais ! Et si ca marche pas, essaye fopen(real_path($_FILES['monFichier']['tmp_name']))
    0
  17. debutant
     
    Bonjour,
    Une dernière question(je sais je suis lourd :D)
    Comment faire pour ne pas prendre la première ligne(nom de colonne)

    Code :

    $uneLigne = fgets($fichier, 1024);

    Merci
    0
  18. debutant
     
    Bonjour,

    j'ai réussi :)
    Mais un ultime problème persiste...
    ca ne prend pas les chiffre a virgule (47.5 devient 47)
    pourtout j'ai essayé avec tout(float,decimal etc...)

    Merci
    0
Précédent
  • 1
  • 2