Lecture d'un fichier texte et enregistrement dans une BDD

Signaler
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006
-
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006
-
Bonsoir a tous,

voila je cherche a lire des informations dans un fichier lisible par un
éditeur de texte. Ces informations seront par la suite stockées en BBD,
une occurence de la table étant indexée par le numéro d'item et tous
les champs sont ceux que l'on trouve entre deux [] [].Ce dernier est
sous la forme :

19 réponses

Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
12
Bonjour,

Va voir là :
http://fr3.php.net/manual/fr/function.parse-ini-file.php

Cordialement.

JC
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

C'est pas très compliqué =)

Tien
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

Tiens je connaissais même pas parse_ini_file() XD

J'me coucherais moins con o_o
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

ben je vais voir ca, mici
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

Tu feras gaffe, j'ai vraiment limité la taille des champs à la taille maximum que prenait le peu de valeurs que tu as affiché
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

lol dsl monoceros01, j'avais pas vu ton lien Tien , j'avais vu celui de jeca , gros merci en fait ^^
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

de rien o_o
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

j'ai un prob ^^



Notice: Undefined variable: listfields in h:\ressources\scripts\bdwowtemp\index.php on line 123





Warning: Cannot modify header information - headers already sent
by (output started at h:\ressources\scripts\bdwowtemp\index.php:123) in
h:\ressources\scripts\bdwowtemp\index.php on line 129


l'enregistrement des données n'a pu être effectuée
Mysql a renvoyé l'erreur suivante :
Erreur de syntaxe près de '' à la ligne 1
Pour la requête :
INSERT INTO `wowbd` VALUES



bon le notice pose pas de prob mais le warning si. Dans mon fichier
source, la ligne 123 c'est : $query.= $listfields;

et 129 c'est la ligne avec le header dans :



if(!mysql_query($query,$this->con))

{

header('Content-type:text/plain');


die("l'enregistrement des données n'a pu être effectuée\nMysql a
renvoyé l'erreur suivante :\n".mysql_error()."\nPour la requête
:\n".$query);

}

else

{


$this->report.= 'Les données ont été enregistrée
correctement avec la requête
:

'.$query.'

';

}



voila, help ^^
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

Dis moi les modifications que tu as faites, parce que chez moi ça marchait!



Visiblement le problème viendrait du fait que $this->items ne contient pas de valeur, ce qui fait que $listfields non plus car le foreach ne se fait pas, donc il n'y a aucune valeurs à insérer!
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
"http://www.phpcs.com/tutorial.aspx?ID=265"



Heuresement que y'a les tutos !
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

Oui le Warning provient juste du Notice, puisque le notice envois du
texte avant l'entête, hors la logique veut que l'entête soit envoyer
avant le reste (d'où son nom)...
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

ben les seules modifs sont dans la première partie a remplir pour la connexion a la bdd le nom, de la table ........
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

et le fichier que tu analyses, il a bien le même format que ce que tu as montré?
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

ouaip, j'ai mis que 2 items avec leurs occurences pour voir plus vite
si camarche et que dalle. Par contre la table est bien crée
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

Oué sinon tu aurais une erreur avant, affiche moi le fichiers que tu utilise voir si le format correspond bien :)
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

le fichier avec lequel j'essai contient :







[creature 1]

level=255

faction=35

name=Spawnpoint (only GM can see it)

model=262

size=1.0

maxhealth=100



[creature 2]

model=262

level=1

npcflags=0601

faction=12

name=Wad's test npc

questscript=HelloWorld

attack=2000 2200

bounding_radius=1.00

combat_reach=11.00

maxmana=53

speed=0.91

sell=2492
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

Voila le problème =)



if(substr($line,1,4) == "item")

J'ai pris en compte le fait que tu écrivait par exemple :
[item 35]
et non
[creature 35]
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

a ouais le problème viens du fait que j'ai 3 fichiers, un avac item, un
avec creature et un avec je sais plus quoi et comme une fesse j'ai
testé avec le mauvais ^^
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

Bon j'ai modifié mon script pour qu'il fonctionne sur n'importe lequel de tes fichiers

http://monoceros01.free.fr/code.php?script=fileToBDD


Lis les commentaires que j'ai rajouté, maintenant tu peux faire en
sorte que le la chaîne de caractère contenue entre crochet (sans le
numéro) devienne le nom de la table. Pour cela, décommente la ligne que
j'ai indiqué dans l'update de mon script =)

Ça te donnera automatiquement une table "item", "creature" et "je sais plus quoi"