Php remplacer donnee par une autre donnee
fred_bgt Messages postés 159 Statut Membre -
j essaye de faire une page php qui permet de modifier une donnee qui ce trouve nimporte ou dans un fichier mes comment faire je ne sais pas
voila ce que j ai essayer de faire.
page1.php
<?php
$fpa = file_get_contents ("texte3.php");
$filename = "texte3.php";
$fp = fopen ($filename, "a+");
$var1 = "ligne";
$var2 = "21";
$aa = strpos($fpa, $var1.$var2);
while (strpos($fpa, $var1.$var2) == true ){
$var2++;
}
fwrite ($fp, "\n\n");
fwrite ($fp, "\$var10 = \"");
fwrite ($fp, $var1.$var2);
fwrite ($fp, "\" ");
?>
mes probleme il ne remplace pas une donnee par la nouvelle mes ne fait que ajoute la noucelle doneee
moi ce que je veu c est qui supprime la donnee selectionner est la remplace par la nouvelle
merci d'avance d votre aide
Configuration: Windows XP Internet Explorer 7.0
34 réponses
- 1
- 2
Il est question de modifier une donnée située dans un fichier texte à l'aide de PHP et de remplacer la valeur existante plutôt que de l'ajouter, afin d'éviter les duplications. Plusieurs approches ont été évoquées, notamment lire le contenu, localiser l'élément à remplacer, puis réécrire le fichier avec la nouvelle valeur, ou exploiter MySQL pour manipuler des données structurées. Des solutions techniques ont été proposées, comme utiliser preg_replace après lecture du contenu et sauvegarde, mais certaines erreurs sur les délimiteurs et l'utilisation des expressions régulières ont été signalées. En cas d'alternatives, les discussions évoquent aussi les limites des fichiers plats et recommandent d'envisager une base de données relationnelle pour la cohérence et les mises à jour centralisées.
-
les tables ont un nom que tu définis
mais je ne comprends pas pourquoi tu veux que les tables aient une id ?
Mais si tu veux des tables indexées, tu peux faire comme ceci :
mysql_query("SELECT champs FROM table".$i." WHERE condition",$conn);
avec table1, table2, table3 ...etc -
je comprends
mais ca ressemble a de la base de données tout ça ...
pourquoi ne travailles-tu pas avec MySQL ?
c'est un jeu d'enfants avec une BD -
-
J'aurais plutôt fait quelque chose comme ça moi :
<?php $file= 'fichier.php'; $to_replace = '#motàremplacer#'; $replace = 'motquiremplace'; $content = file_get_contents($file); $content = preg_replace($to_replace, $replace, $content); file_put_contents($file, $content); ?>
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ca marche comme ça en effet.
Il y a qq années, ne connaissant pas MySQL, j'avais développé ma BD avec les fichiers en PHP. Cela fonctionnait. Mais c'était très lourd (structure de la BD figée ou difficile à modifier).
Avec MySQL c'est très simple. Il faut juste sauter le pas.
Tout dépend de l'usage que tu auras de tes infos (petits fichiers ou pas, nombre de champs ...etc)
En tout cas, les fichiers en PHP ne sont pas faits pour ça, ca sature vite le serveur s'ils sont trop gros ...
C'est à toi de voir... -
en tous cas si tu souhaite apprendre mysql je te conseil ce site: https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql
ou tout y est parfaitement expliqué et il est vrai que mysql n'est pas compliqué a apprendre -
bonjour
dabord merci a tous de l interet que vous portait a mon probleme c est vraiment simpas
d abord je vai terminer mon site comme prevue sans base de donne un foie terminer j irai apprendre le mysql est plus tard j utiliser le mysql sur mon site de referencement. -
bonjour je vien de tester ton code
<?php
$file= 'texte3.php';
$to_replace = 'ligne1';
$replace = 'motquiremplace';
$content = file_get_contents($file);
$content = preg_replace($to_replace, $replace, $content);
file_put_contents($file, $content);
?>
est ca mache un message d'erreur
Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash in C:\Program Files\EasyPHP3.1\www\test0500\remplacer donne\page1.php on line 9 -
-
-
bonjour
j ai modifier le code est ca marche
<?php
$file= 'texte3.php';
$to_replace = 'ligne1';
$replace = 'motquiremplace';
$content = file_get_contents($file);
$content = str_replace ($to_replace, $replace, $content);
file_put_contents($file, $content);
?> -
Une expression rationnelle ou expression régulière est en informatique une chaîne de caractères que l’on appelle parfois un motif et qui décrit un ensemble de chaînes de caractères possibles selon une syntaxe précise
(Wikipédia)
9a permet de faire des recherches précises dans un document par exemple (rechercher tous les liens, toutes les email, un mot précis, ...) -
bonjour
dans mon site web j utilise beaucoup les tableaux a 2 dimmensions
exemple ( $table[5][1] )
je voudrai savoir si dans mysql ont peu faire la meme chose si ou comment
Merci de votre aide -
on peut tout faire avec MySQL
tu peux avoir MySQL chez ton hébergeur ? -
je voudrai savoir si une bDD contient un ID si une Table contient Un ID est si une entree contient un id
merci de votre reponse -
je ne comprends pas ta question
qu'entends-tu par une ID ?
une table est définit par une série de champs de données -
par exemple dans les table array de php
y a $table[ID1]
id ou si tu prefere une cle -
évidemment que tu as des clés dans les BD. C'est la base des BD ...
l'outil MySQL est très puissant
ex :
tu veux l'article n°5672 parmi les 50000 articles de ta table CLIENT
le champ ID est la clé
tu veux les champs nom, prenom et adresse
en PHP :
$r=mysql_qeury("SELECT nom,prenom,adresse FROM client WHERE id=5672",$conn);
$nom=mysql_result($r,0,'nom');
...etc
très simple d'emploi -
si j ai bien compris chaque entree a un ID
mes pas les table -
si je pose toutes c est question qui peu te paraitre bizarre c est que dans mon site j utilise des tableau a deux dimmensions est jutilise les cle des tableau
j ai un code comme ceci
for ($i=0;$i<10;$i++){
echo $table1[$id1][$id2];
}
etc etc...
donc voila je cherche un moyen de adabtait ce code avec mysql
- 1
- 2