Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2007, 18h35   #1
Futur Membre du Club
 
Inscription : mars 2005
Messages : 115
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 115
Points : 15
Points : 15
Par défaut Lister et supprimer une entrée dans un fichier texte

bonsoir,

j'ai un fichier texte contenant des données article, et je voudrais savoir comment faire pour lister les articles sur une page web (faire la lsite pour les visiteurs)

Ensuite je voudrais effacer une entrée de ce fichier à partir d'un formulaire ou je dois donner le numéro de l'article à supprimer.

Si quelq'un a des exemples ...

cdlt,
Shyboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2007, 19h12   #2
Futur Membre du Club
 
Inscription : mars 2005
Messages : 115
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 115
Points : 15
Points : 15
Pour lister les articles j ai trouver dansla Faq:

voila ce que j'ai comme code:

<
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
?php
 
echo"<table border=\"2\"><tbody>";
$i=0;
//
$tab=file("moto.txt");
//lecture de $tab
 
for($i=0;$i<count($tab);$i++)
{
$ligne= explode (";",$tab[$i]);
echo"<tr><td>$ligne[0]</td>$ligne[1]<td><td>$ligne[2]</td><td>$ligne[3]</td><td>$ligne[4]</td<td>$ligne[5]</td></tr>";}
echo"</tbody></table>";
 
 
?>
le tableau s'affiche avec ls articles, mais j'ai une suerbe erreur "undefined error"

Notice: Undefined index: 1 in C:\Program Files\EasyPHP 2.0b1\www\list.php on line 20

Notice: Undefined index: 2 in C:\Program Files\EasyPHP 2.0b1\www\list.php on line 20

Notice: Undefined index: 3 in C:\Program Files\EasyPHP 2.0b1\www\list.php on line 20

que faire pour eradiquer ça?
Shyboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2007, 21h56   #3
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
l'erreur vient d'une ligne qui ne contient pas d'informations
tu peux sauter cette ligne en testant si ton tableau $ligne a bien 4 cases à l'aide de la fonction http://php.net/count
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2007, 23h40   #4
Futur Membre du Club
 
Inscription : mars 2005
Messages : 115
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 115
Points : 15
Points : 15
j'ai bien utilisé lafonction count, et j'ai bien 6 cases... je comprends rien...
Shyboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 00h27   #5
Futur Membre du Club
 
Inscription : mars 2005
Messages : 115
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 115
Points : 15
Points : 15
.... mon script devrait fonctionner... comment vous feriez vous?
Shyboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 01h01   #6
Membre du Club
 
Inscription : juin 2006
Messages : 67
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2006
Messages : 67
Points : 53
Points : 53
Bonsoir !
alors j'ai vu ton problem , en fait tas un problem ds le remplissage de ton tableau ( plsrs tab)
en fait essaye un print_r($ligne) ;
pr voir qu'est ce qu'il contient ce tab !
ca donne un truc ds le genre :
Code :
Array ( [0] =>^paggio  ) Array ( [0] => suziki ) Array ( [0] => handa ) Array ( [0] =>  ) Array ( [0] => ferrari ) Array ( [0] => cbr ) Array ( [0] => mitsubishi )
donc essaye ca :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
 
echo"<table border=\"2\"><tbody>";
$i=0;
//
$tab=file("moto.txt");
//lecture de $tab
 
for($i=0;$i<count($tab);$i++)
{
$ligne= explode (";",$tab[$i]);
//print_r($ligne);
 
echo"<tr><td>$ligne[0]</td><td><td></td><td></td><td></td><td></td></tr>" ;
}
echo"</tbody></table>";
 
 
?>
et ca doit marcher sans problem
a+
LUM
luminien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2007, 16h32   #7
Futur Membre du Club
 
Inscription : mars 2005
Messages : 115
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 115
Points : 15
Points : 15
Par défaut Effacer une donnée dans un fichier texte

Voici, encore un petit problème, tout bête, j'ai un formulaire supp.html avec unchamp dans lequel je dois indiquer le numéro qui supprimera un article dans mon fichier moto.txt...



fichier supp.html

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>ajout.php</title>
</head>
 
<body>
 
<form action="suppression.php"> 
<fieldset><legend>suppmoto</legend> 
 
 
 
<label>n° de moteur</label><input type="text" name="numero_envoye"><br />
 
 
 
</select><br /><br /><br />
 
<input type="submit" value="post" name="supprimer"  value="supprime" />
 
</fieldset>
</form>
 
 
</body>
</html>
Pour le formulaire aucune difficulté, mais c'est après que les ennuis viennent, en effet, je bricole mon code, je cherche sur google(mon ami), mais rien n'y fait, j'ai l'idée, le principe, mais je n'arrive pas a articuler le script pour le rendre efficace...


fichier suppression.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$fichier=file('moto.txt');// fichier est un tableau
 
for ($k=1;$k<=count($fichier);$k++){
list($marque,$modele,$numero)=explode(';',$fichier);
 
if($numero=$numero_envoye)
{
$index=($k-1);
}
}
?>
<?php
$fichier[$index]=''; //entrée vide
if(isset($index))
{$fp=fopen('voiture.txt','w+b');
for($i=1;$i<=count($fichie);$i++)
{fwrite($fp,$lignes[($i-1)]);
}
fclose($fp);
}
 
?>
voila , je serais heureux d'avoir les conseils d'un initié sur mon code, so avis et une solution viable pour que mon entrée soit suprimé dans le fichier .txt

cdlt,
Shyboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h11.


 
 
 
 
Partenaires

Hébergement Web