Rechercher : dans
Par :

Charger une table mysql à patir de fichiers

Dernière réponse le 23 avr 2009 à 15:21:55 chaffar, le 23 avr 2009 à 11:55:55 
 Signaler ce message aux modérateurs

Bonjour,
je suis en galère. je suis en pfe et il ne me reste plus beaucoup de temps
je veux charger une table mysql à partir des fichiers textes et excels qui se situent sur mon disque.
voici le code que j'ai récupé mais ça ne marche pas, j'ai un problème avec le SELF_PHP, je ne sais pas à quoi sert cette foncion.
merci pour l'aide

le code :


<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"; /* Base de données */
$host= "localhost"; /* Hote (localhost en principe) */
$user= "user; /* Utilisateur */
$pass= "motpasse; /* 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 */
$nom = $liste[0];
$prenom = $liste[1];

/* Ajouter un nouvel enregistrement dans la table */
$query = "INSERT INTO $table VALUES('$nom','$prenom')";
$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 "$nom $prenom <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>

Configuration: Windows XP
Firefox 3.0.8

Meilleures réponses pour « charger une table mysql à patir de fichiers » dans :
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
MySQL - Afficher les informations sur une table VoirPour afficher les informations sur une table TabTest il faut lancer la commande suivante (l'option \G améliore le formatage u résultat) : mysql> show create table TabTest\G *************************** 1. row *************************** ...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...

1

 221285, le 23 avr 2009 à 15:21:55

Bonjour,
je suis en galère. je suis en pfe et il ne me reste plus beaucoup de temps
je veux charger une table mysql à partir des fichiers textes et excels qui se situent sur mon disque.
voici le code que j'ai récupé mais ça ne marche pas, j'ai un problème avec le SELF_PHP, je ne sais pas à quoi sert cette foncion.
merci pour l'aide

le code :


<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"; /* Base de données */
$host= "localhost"; /* Hote (localhost en principe) */
$user= "user; /* Utilisateur */
$pass= "motpasse; /* 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 */
$nom = $liste[0];
$prenom = $liste[1];

/* Ajouter un nouvel enregistrement dans la table */
$query = "INSERT INTO $table VALUES('$nom','$prenom')";
$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 "$nom $prenom <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>

Répondre à 221285