tableau fichier texte et requete mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : tableau fichier texte et requete mysql

par Davee » 27 mai 2009, 10:20

Array_map() bonne idée.

Je me suis dépatouiller avec preg_split()

Je récupère d'un coup le contenu du fichier avec fread() et je traite avec ce petit bout de code
$t=preg_split('#\r\n#',$t);
ça me fait un joli petit tableau qui va boucler pour aller chercher dans la base et ça marche.

Merci à tous en tout cas.

david.

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]
et je vous en remercie =D

par blof » 27 mai 2009, 08:15

Bonjour,

une autre solution :
$aa = array_map('chop', file('ton_fichier'));

array_map(), chop(), file()

par Davee » 26 mai 2009, 19:20

merci pour la suggestion mais je ne croit pas.

En fait le fgets() recupère les retours de chariot de mon fichier texte, ils sont contenu dans le tableau mais invisible. ... c'est diablerie :twisted:

Ce qui fait que quand je demande une requete mysql, Il ne trouve pas la colonne 'essence', ou 'banque',etc... mais il cherche 'essence\n',etc...

(enfin c'est ce qui me semble, d'après les tests que j'ai pu faire, notament en passant un tableau directement par le script. Mais peut-être que je me trompe.)

Merci.

david.

par Elie » 26 mai 2009, 00:16

Et si tu supprimer les keys ca suffit pas ?

par Davee » 25 mai 2009, 21:32

Merci stopher

Bon voilà le php
$a=$this->fT."/".$a.".txt";
$a=fopen ($a, "r");
while (!feof($a))
{
	$aa[]=stream_get_line($a,1024,'\n');
}
return $aa;
et voilà ce qu'il me retourne

Code : Tout sélectionner

Array ( [0] => supplies bank essence pain divers Tele2 sortie mobicarte loyer elec internet crediter )
C'est un peu gènant il ne s'arrête pas au retour de chariot, il lis tous les octets spécifié par la deuxième variable.
Je peux pas spécifié un nombre d'octet les ligne ont pas toutes la même longueur.

gratgrat. #-o

je patine un peu.

par stopher » 25 mai 2009, 20:22

Salut ,

certainement une solution :

remplace fgets() par stream_get_line()

Ch.

tableau fichier texte et requete mysql

par Davee » 25 mai 2009, 20:17

Bonjour un petit moment que je suis pas venu, enfin bref...

J'ai un petit souci avec la fonction fgets().
J'explique.
J'ai fichier texte avec plusieurs lignes.

Code : Tout sélectionner

supplies bank essence pain divers Tele2 sortie mobicarte loyer elec internet crediter
chaque ligne est récupérer dans un tableau
$a=$this->fT."/".$a.".txt";
$a=fopen ($a, "r");
while (!feof($a))
{
	$aa[]=fgets($a);
}
return $aa;
symboliser comme suit

Code : Tout sélectionner

Array ( [0] => supplies [1] => bank [2] => essence [3] => pain [4] => divers [5] => Tele2 [6] => sortie [7] => mobicarte [8] => mensFix [9] => elec [10] => internet [11] => crediter )
Mon problème c'est que fgets() prends en compte les retour de ligne et je voudrait savoir s'il y a moyen de ne pas les prendre en compte ??

le souci c'est que j'utilise ce tableau pour fouiller dans une base de donnée

Quand je parcours un tableau directement ecrit dans le scripte:
$aa=array('supplies', 'bank', 'essence', 'pain', 'divers', 'Tele2', 'sortie', 'mobicarte' ,'mensFix', 'elec' ,'internet' ,'crediter');
tout va bien, mais quand c'est un tableau comme je l'ai construit plus haut ça ne va pas.

Mon problème est immense, je m'en remet à votre humble bonté pour me donner la voie, hooo grands modos et autres adeptes... voire plus. :priere:

Merci d'avance.

David.