Probleme avec Script PHP pour remplir mysql avec un fichier Excel

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Muccy, 13 Février 2013.

  1. Muccy
    Muccy Nouveau WRInaute
    Inscrit:
    13 Février 2013
    Messages:
    1
    J'aime reçus:
    0
    Bonjour,

    je suis débutant en php et je cherchais une methode permettant de remplir une base de donnée via un fichier excel.

    En fait j'extrais le fichier excel à partir d'un grand serveur de base données puis avec ce fichier excel, je rempli la base de données de mon apllication.

    Cependant je voudrais d'abord tester le remplissage de ma base de données à partir d'un simple fichier excel avant de le faire en "vrai"

    Je suis tombé sur le script suivant sur ce site : https://www.webrankinfo.com/forum/remplir-une-table-mysql-depuis-fichier-excel-t40685.html

    <html>
    <head>
    <title>Importer un fichier texte dans une bdd MySQL</title>
    </head>
    <body>
    <h2>Importer un fichier texte dans une bdd MySQL</h2>

    <?
    switch($action)
    {
    /* LECTURE ET AJOUT DES DONNEES DANS LA TABLE */
    case "ajouter":

    /* Variables */
    $bdd = "*****"; /* Base de données */
    $host= "*****"; /* Hote (localhost en principe) */
    $user= "*****"; /* Utilisateur */
    $pass= "*****"; /* Mot de passe */

    /* Connexion bdd */
    @mysql_connect($host,$user,$pass) or die("Impossible de se connecter à la base de données");
    @mysql_select_db($bdd);

    /* On cree la table */
    //if ($creertable)
    // {
    // $query = "CREATE TABLE $table( nom varchar(24),prenom varchar(24) )";
    // $result= MYSQL_QUERY($query);
    // }

    /* On ouvre le fichier à importer en lecture seulement */
    if (file_exists($fichier))
    $fp = fopen("$fichier", "r");
    else
    { /* le fichier n'existe pas */
    echo "Fichier introuvable !<br>Importation stoppée.";
    exit();
    }

    while (!feof($fp)) /* Et Hop on importe */
    { /* Tant qu'on n'atteint pas la fin du fichier */
    $ligne = fgets($fp,4096); /* On lit une ligne */

    /* On récupère les champs séparés par ; dans liste*/
    $liste = explode( ";",$ligne);

    /* On assigne les variables */
    $id = $liste[0];
    $id1 = $liste[1];
    $nom = $liste[2];
    $titre = $liste[3];
    $alt = $liste[4];

    /* Ajouter un nouvel enregistrement dans la table */
    $query = "INSERT INTO $table VALUES('$id','$id1','$nom','$titre','$alt')";
    $result= MYSQL_QUERY($query);

    if(mysql_error())
    { /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */
    print "Erreur dans la base de données : ".mysql_error();
    print "<br>Importation stoppée.";
    exit();
    }
    else /* Tout va bien */
    print "$id $id1 $nom $titre $alt<br>";
    }

    echo "<br>Importation terminée, avec succès.";

    /* Fermeture */
    fclose($fp);
    MYSQL_CLOSE();

    break;


    /* FORMULAIRE DE CHOIX D'IMPORTATION */

    default:
    ?>
    <? echo "<form method=\"post\" action=\"$PHP_SELF\">"; ?>
    Pour ajouter ton serveur il suffit de remplir ce formulaire
    <table border="0" cellspacing="0" cellpadding="3">
    <tr>
    <td>Table :</td>
    <td> <input type="text" name="table"> </td>
    </tr>
    <tr>
    <td>Fichier :</td>
    <td> <input type="text" name="fichier"> </td>
    </tr>
    <tr>
    <td>Créer table ? :</td>
    <td> <input type="checkbox" name="creertable" checked> </td>
    </tr>
    <tr>
    <td></td>
    <td> <input type="submit" name="submit" value="Et HoP !"> </td>
    </tr>
    </table>
    <input type="hidden" name="action" value="ajouter">
    </form>
    <?
    break;

    }

    ?>

    </body>
    </html>

    j'ai ensuite essayer de l'adapter à mon code mais je ne sais pas trop comment remplir le formulaire pour le serveur. Quelles données mettre ? car moi j'ai dejà mis en place ma base de données qui fonctionne.En gros je n'ai pas besoin de recreer une table.

    Cependant quand j'enleve la partie remplissage du formulaire j'ai une erreur me disant que la variable "action" n'est pas définie.

    Si vous pouviez m'aidez à utiliser ce code je vous en serais tres reconnaissant.Si vous avez aussi d'autre piste plus importantes ou plus souple je suis preneur.

    Merci d'avance.
     
  2. silef
    silef WRInaute occasionnel
    Inscrit:
    13 Janvier 2006
    Messages:
    296
    J'aime reçus:
    0
    Enlève
    Code:
     action=\"$PHP_SELF\"
    de ton formulaire ça sert a rien.

    Et remplace
    Code:
    switch($action)
    par
    Code:
    switch($_REQUEST['action'])
    Suivant la configuration de ton serveur les variables récupérées de ton formulaire ne pourront être appelées par $nom_variable mais par $_REQUEST['nom_variable']
     
  3. erestrebian
    erestrebian WRInaute occasionnel
    Inscrit:
    15 Juin 2007
    Messages:
    415
    J'aime reçus:
    0
    Salut,

    La question va peut-être te paraître bête mais tu n'as vraiment pas moyen de faire un export SQL de la base de données ? Ca serait beaucoup plus simple. Sinon, si tu commences en php, habitue-toi plutôt à utiliser les extenstions mysqli ou pdo_mysql que mysql qui est porté à disparaître et dont l'utilisation génère des alertes d'obsolescence (E_DEPRECATED). Enfin, le code est plus lisible quand il est mis entre les balises Code :
    Code:
    $var='du texte entre des balises code';
     
Chargement...
Similar Threads - Probleme Script PHP Forum Date
Problème extraction tables croisés script php Développement d'un site Web ou d'une appli mobile 9 Janvier 2013
Problème appel script bash depuis php Administration d'un site Web 9 Juin 2011
[script] probleme confirm() javascript+ PHP Développement d'un site Web ou d'une appli mobile 7 Juin 2011
Problème meta description Wordpress Problèmes de référencement spécifiques à vos sites 14 Avril 2020
Problème de description dans les serps Problèmes de référencement spécifiques à vos sites 19 Juillet 2019
Script JS problème Développement d'un site Web ou d'une appli mobile 31 Octobre 2018
Problème de conflit javascript Développement d'un site Web ou d'une appli mobile 26 Juin 2017
Probleme de descriptions non mises à jour Crawl et indexation Google, sitemaps 16 Août 2016
Problème au niveau de mes balises Titles et meta description Débuter en référencement 1 Février 2016
Problème meta description et meta titre Débuter en référencement 28 Janvier 2015