update d'un champs dans toute la base

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

karkour
WRInaute discret
WRInaute discret
 
Messages: 86
Inscription: Lun Oct 02, 2006 9:57

update d'un champs dans toute la base

Message le Dim Déc 03, 2006 16:59

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('  ',
      '&quot;',
      '&',
      '\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 aide je suis ko .

jeroen
WRInaute accro
WRInaute accro
 
Messages: 2384
Inscription: Ven Aoû 30, 2002 13:35

Message le Dim Déc 03, 2006 17:32

Code: Tout sélectionner
$find = array('  ',...);
$remplace = array(' ',...);

while ($row=mysql_fetch_array($result))
{
$sil=str_replace($find,$remplace,strtoupper($row["champs"]));             
mysql_query ("update table set champs ='".$sil."' where champs='".$row["champs"]."'");
}

karkour
WRInaute discret
WRInaute discret
 
Messages: 86
Inscription: Lun Oct 02, 2006 9:57

Message le Dim Déc 03, 2006 17:56

merci jeroen,

pour reprendre mon code d'après toi, il faudrait que je fasse ça :

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);
while ($row=mysql_fetch_array($result))
{
$find = array('  ',
      '&quot;',
      '&',
      '\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(' ');
      $sils=$row["champs"];
      $sil = strtoupper($sils);
      $sil=str_replace($find,$remplace,$sil);
      $sil=str_replace($findes,$remplacees,$sil);
            
$querys = "update table set champs='$sil' where user_sil='$sils'"

}
mysql_close($db);
?>


rog
WRInaute accro
WRInaute accro
 
Messages: 1662
Inscription: Jeu Sep 21, 2006 2:32

Message le Dim Déc 03, 2006 18:22

le champs est un ordonné, pour un update en intersection, il faut aussi renseigner l'abysse

rog

karkour
WRInaute discret
WRInaute discret
 
Messages: 86
Inscription: Lun Oct 02, 2006 9:57

Message le Dim Déc 03, 2006 19:39

c'est bon j'ai reglé le probleme en integrant le while dans le for comme le suggerait jeroen .

merci ça m'a beucoup aidé :wink: .


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités