update de tous les champs

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 : update de tous les champs

par Truc » 04 déc. 2006, 19:39

Script pas super optimisé mais puisqu'il ne servira qu'une seule fois (en principe) ça fera l'affaire.

Ce qui cloche est surtout l'initialisation des tableaux $find et $remplace à deux reprises (dont une fois à vode)

Ensuite il te faut également récupérer l'identifiant unique de chaque ligne de données (appelé "id" le plus souvent)
$querys = "update table set champs ='".$sil."' WHERE id = ".$sil=$row["id"];
Pour ne mettre à jour que le champ concerné

par Dominic » 04 déc. 2006, 16:21

il faudrait indexer par rapport à la boucle
$sil=str_replace($find[$i],$remplace[$i],$sil);

update de tous les champs

par hak » 03 déc. 2006, 17:42

Bonjour à tous,

un petit problème sur un script fait maison :

Alors voila, j'ai une base de donnée déjà remplit et pour une affaire de facilité je voudrai mettre le contenu d'un champs de toute la base en majuscule et nettoyage des accents, parenthèse guillemets etc etc .

j'ai fais un script et au lieu de changer le contenu de chaque champs un par un , il me change le contenu de tous les champs avec le contenu du premier champs.

ce qui fait que le contenu du champs de toute la base est le même.

exemple :

voici ce que je voudrai que ça fasse :

id1
champs = à l'école ==>transfromé en champs = A L ECOLE

id2
champs = général (major ) ==>transfromé en champs = GENERAL MAJOR

id3
champs = mon "<ah bon>" ==> transfromé en champs = MON AH BON

mais avec le script ci_dessous je me retrouve avec :

id1
champs = à l'école ==>transfromé en champs = A L ECOLE

id2
champs = général (major ) ==>transfromé en champs = A L ECOLE

id3
champs = mon "<ah bon>" ==> transfromé en champs = A L ECOLE



mon code :

Code : Tout sélectionner

<?php require ("config.php"); @ $db = mysql_pconnect ("$dbhost","$dbuser","$dbpasswd")or die ("erreur de connexion"); mysql_select_db("$dbname",$db)or die ("erreur de connexion base"); $query="SELECT champs FROM table where champs !=''"; $result=mysql_query($query) or die(); $num_results = mysql_num_rows($result); for ($i=0;$i<$num_results;$i++) { $row=mysql_fetch_array($result); $find = array(' ', '"', '&', '\r\n', '\n', '/', '\\', '+', '<', '(', ')', '"', '>', 'é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê', 'í', 'ì', 'î', 'ï', 'Í', 'Ì', 'Î', 'Ï', 'ó', 'ò', 'ô', 'Ó', 'Ò', 'Ô', 'á', 'à', 'â', 'Á', 'À', 'Â', 'ú', 'ù', 'û', 'Ú', 'Ù', 'Û', 'ß', 'ç', 'ü', 'Ü', 'ä', 'Ä', 'ö', 'Ö', '\'', '--', '-', 'Ç', '_', ','); $remplace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'O', 'O', 'O', 'O', 'O', 'O', 'A', 'A', 'A', 'A', 'A', 'A', 'U', 'U', 'U', 'U', 'U', 'U', 'SS', 'C', 'U', 'U', 'A', 'A', 'O', 'O', ' ', ' ', ' ', 'C', ' ', ' '); $findes = array(' '); $remplacees = array(' '); $sil=$row["champs"]; $sil = strtoupper($sil); $sil=str_replace($find,$remplace,$sil); $sil=str_replace($findes,$remplacees,$sil); $querys = "update table set champs ='$sil'" } mysql_close($db); ?>
merci de votre je suis ko .