Fichier texte comme BDD

Répondre
KiwiSlice
le 31/03/2005 à 16:06
KiwiSlice
Je voudrais me servir d'un fichier texte pour stocker ligne par ligne le id, nom d'utilisateur, mot de passe ainsi que le nombre de points, comment je fait pour ajouter une ligne au fichier texte avec ces infos, ou modifier disons le nombre de points dans une ligne déjà existante !?

Et ensuite comment je fait pour lire les lignes ou disons afficher les 5 membres ayant le plus de points !?
KiwiSlice - The fruity taste of kiwi
zebden
le 31/03/2005 à 17:10
zebden
pour rajouter une ligne en fin du fichier
fwrite($fp, 'a') l'attribut a permet ca.

Pour modifier une ligne deja exsitance tu es obligé de tout réecrire avec l'attribut w. et de modifier la ligne.

Pour afficher le max des gens qui ont le plus de points , lemieux est de consituer un tableau array une fois les infos recup et ensuite de faire le tri.

Ah oui c'est tellement chiant de reinventer les bdd ^^
zebdinou pour les intimes / Blog : http://www.zebden.fr
KiwiSlice
le 31/03/2005 à 18:19
KiwiSlice
Hehe ouais je voit ça c'est chiant.

Merci pour la réponse, je vais sûrement payer plus cher pour un hébergeur avec MySQL ^^
KiwiSlice - The fruity taste of kiwi
mojorisin
le 01/04/2005 à 15:59
mojorisin
Tu peux utiliser SQLite sinon, une base de données basée sur le systeme de fichiers ou encore dba.
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
agilis
le 01/04/2005 à 17:08
agilis
donc ya pas moyen de modifier une ligne d'un fichier texte???? smiley smiley
Merci à tous!! agilis...
zebden
le 01/04/2005 à 17:14
zebden
si, je le dis plus haut mais tu es obligé de réécrire tout le fichier.
zebdinou pour les intimes / Blog : http://www.zebden.fr
agilis
le 01/04/2005 à 17:17
agilis
ok, mais je voulais être sur d'avoir bien compris. smiley

Merci
Merci à tous!! agilis...
Bzh
le 02/04/2005 à 00:03
Bzh
Il est possible de modifier juste une ligne d' un fichier...

Heureusement que SQL ne réécri pas tous ces fichiers lorsque l' on fait une mise à jours...

Pour cela tu dois respectuer certaine condition...

Chaque ligne doivent faire exactement la même taille !!!

C' est pour cela que lorsque tu construis ta base de donnée SQL il te demande PRESCISEMENT les types données que tu veux insérer !!!

Une fois que tu as déterminer le nombre de caractères (je te conseil vivement de tout enregistrer en chaine de ceractère histoire de simplifier)...

Il te suffi d' avancer le pointeur du nombre de caractères voulu pour axéder a ta ligne voulu !!! Et de réécrir par dessu... C' est pour cela qu' il est très important de respectuer le nombre de cractère par ligne !!!

J' éspère avoir été clair ...smiley

Ciao...
agilis
le 02/04/2005 à 09:28
agilis
Oui, c'était clair. Merci beaucoup!
Par exemple si toute mes lignes font 100 caractères, pour accéder à la ligne deux, je met mon pointeur à 200 carctères et je réécris?
Seulement, si le fichier à un nombre différents de caractère par ligne (en fait je n'utilise pas les fichier comme bdd mais pour faire le lien entre php et un programme...). Comment on fait? Faut tout réécrire comme le dit zebden? :( Ya pas moyen par exemple de se repérer avec un "code" qu'on retrouve grâce aux expression régulière?

Encore merci
Merci à tous!! agilis...
zebden
le 02/04/2005 à 13:58
zebden
fwrite ne fait pas dans la dentelle

Effectivement avec fseek on peut placer le curseur ou on souhaite et une fois a la ligne à changer si on connait le nbre d'octets on peut eventuelement juste modifier la ligne.

Bon moi je dis c'est un peu la merde , bcp de boulot pour rien.
Moi je conseille de tout réecrire. donc avec file de mettre toutes les lignes dans un tableau puis de changer la ligne que l'on veut dans ce tableau puis de refaire le fichier avec ce meme tableau (oui je suis pas clair) ..

ca evite beaucoup d'heures perdues, m'enfin SQLlite semble le meilleur compromis ou meme alors dans ce cas utiliser le XML.
zebdinou pour les intimes / Blog : http://www.zebden.fr
Répondre
LoadingChargement en cours