Aide pour du php

Fermé
kevin8588 Messages postés 2 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 3 juin 2009 - 3 juin 2009 à 00:53
Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 - 3 juin 2009 à 11:50
Bonjour,
Je débute en php Et il se trouve que je bloque sur un projet .
J'ai des données en .txt et je dois réussir a les travaillé grace a des codes en php .
Le probléme :ces données ne sont pas classé ( comme dans un tableur )
par ou commencé

J'ai vu qu'il y a des fonction qui permette de "decoupé" au bout d'un certain nombre de caractères .J'arrive a decoupé par ligne mais les valuers qui sont ds les collone ne correspondent pas .
Comment faire pour la recupéré et ensuite l'envoyé dans une base de donnée.(Si il faut faire comme ça )
Existe -t-il des codes qui permettent de directement passer des données de fichier texte a des données pretesa etre utilisée pour une bdd ?
Je ne cherche pas les lignes de code (quoi que ...) mais j'aimerais savoir si c'est sur la bon chemin .
Pour eclairé mes indications :J' ai des données sur des hauteurs d'eau ( de marée) en fonction des heures (de 00h a 23h ) et en fonction des jours .Donc la seule chose qui ne vari pas c'est les horaires de saisie.
Le but de notre projet et d'obtenir deux rectangles de saise ou l'on entre l'horaire et le jour et op on obtien la hauteur d'eau .
Je me suis lancé sur des lignes de codes mais le résultat et nul .Elles seront postées demain matin .
JE SUIS PRENEUR DE TOUTES IDEES.
merci bonnne soirée
A voir également:

6 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
3 juin 2009 à 09:27
pour lire ton fichier texte une fonction php hyper pratique

$array_fichier=file('nom_de_ton_fichier.txt');

pas de besoin de fopen fclose

ça te mets ton fichier dans un array (un tableau php) ligne par ligne

il suffit ensuite pour le traiter de parcourir cet array pour le traiter ligne par ligne

foreach ($array_fichier as $cle=>$valeur){
// $cle le numéro de la ligne commence par 0
// $valeur le contenu de la ligne

//tu fait ton traitement
}

il faudrait que tu donnes un bout d'exemple de la forme de chaque ligne

pour traiter regardes du côté des fonction preg_match de php (REGEX)

www.siteduzero.com
0
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
3 juin 2009 à 09:32
Bonjour.

Si tu arrive à récupérer ligne par ligne le fichier, tu peut utiliser la fonction substr pour récupérer un bout de chaine de caractères.
Sa s'utilise comme ceci:
substr($string,$start,$length);


Par exemple:
$chaine="salut";

$chaine2=substr($chaine,0,2);
$chaine3=substr($chaine,3,2);

echo $chaine2; // affichera "sa"
echo $chaine3; // affichera "lu"


A toi ensuite de traiter ces morceaux de chaines. Si dans la ligne, les valeurs sont séparées par un caractère quelconque (mais toujours le même), tu peut utiliser la fonction explode().

Sa s'utilise comme ceci:
explode($delimiteur,$chaine);


Exemple:
$chaine="un chiffre;un nombre;un horaire;";

$tableau=explode(";",$chaine);

echo $tableau[0]; // affiche "un chiffre"
echo $tableau[1]; // affiche "un nombre"
echo $tableau[2]; // affiche "un horaire"


Voila, en espérant t'avoir aidé un peu.
0
kevin8588 Messages postés 2 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 3 juin 2009
3 juin 2009 à 10:39
merci pour les réponses .
Une autre petite question que veux dire deux + apres une variables

for ($i=1;$i<count$lignes)$i++ )
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
3 juin 2009 à 11:31
il te manque une )
for ($i=1;$i<count$lignes)$i++ )

il faut:

for ($i=1;$i<count($lignes)$i++ )


$i++ veut dire incrémentation de la variable à chaque passage de la boucle

on fait une boucle pour $i=1 jusqu'à ce que $i soit inférieur au nombre de lignes en faisant +1 à chaque passage de la boucle
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
3 juin 2009 à 11:32
houps il manque aussi un ;

for ($i=1;$i<count($lignes);$i++ )
{


}
0
Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
3 juin 2009 à 11:50
Pour des raison de complexité,
il serai fort judicieux de stocker "count($lignes)" dans une variable,
ça éviterait de faire le calcul a chaque tour de boucle
0