Php remplacer donnee par une autre donnee

layeures Messages postés 310 Statut Membre -  
fred_bgt Messages postés 159 Statut Membre -
Bonjour,

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
A voir également:

34 réponses

fred_bgt Messages postés 159 Statut Membre 22
 
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
1
fred_bgt Messages postés 159 Statut Membre 22
 
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
0
layeures Messages postés 310 Statut Membre 3
 
je mis connai pas en mysql

de l aide si vous plait
0
Utilisateur anonyme
 
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);
?>
0

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

Posez votre question
fred_bgt Messages postés 159 Statut Membre 22
 
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...
0
maolo
 
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
0
layeures Messages postés 310 Statut Membre 3
 
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.
0
layeures Messages postés 310 Statut Membre 3
 
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
0
Utilisateur anonyme
 
il faut laisser les '#' pour la regex :
$to_replace = '#ligne1#'; 
0
layeures Messages postés 310 Statut Membre 3
 
c est quoi les regex
0
layeures Messages postés 310 Statut Membre 3
 
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);
?>
0
Utilisateur anonyme
 
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, ...)
0
layeures Messages postés 310 Statut Membre 3
 
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
0
fred_bgt Messages postés 159 Statut Membre 22
 
on peut tout faire avec MySQL
tu peux avoir MySQL chez ton hébergeur ?
0
layeures Messages postés 310 Statut Membre 3
 
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
0
fred_bgt Messages postés 159 Statut Membre 22
 
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
0
layeures Messages postés 310 Statut Membre 3
 
par exemple dans les table array de php
y a $table[ID1]

id ou si tu prefere une cle
0
fred_bgt Messages postés 159 Statut Membre 22
 
é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
0
layeures Messages postés 310 Statut Membre 3
 
si j ai bien compris chaque entree a un ID
mes pas les table
0
layeures Messages postés 310 Statut Membre 3
 
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
0