IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] Remplacement de chaîne de caractères


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Par défaut [SQL] Remplacement de chaîne de caractères
    Bonjour,

    Mon site et mon forum ayant déménagés. Les liens relatifs à des messages de mon forum sont morts.

    Existe il un moyen simple de remplacer la chaine "login.free.fr" par "www.monsite.com" soit en modifiant les posts dans la BDD ou "un peu de code" qui fera la conversion à chaque chargement de la page ?

    Merci

  2. #2
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    peut être en sql voir l'autre forum
    sinon
    on fait une requête genre where le champ is '%texte1%'
    puis str_replace
    puis une requête d'update

  3. #3
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Ca devrait faire l'affaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql = mysql_query("SELECT un_id_de_reconnaissance, le_champ_en_question FROM table WHERE le_champ_en_question LIKE '%login.free.fr%'");
    while (list($id, $champ) = mysql_fetch_array($sql)) {
       $chaine = str_replace("login.free.fr", "www.monsite.com", $champ);
       $sql2 = mysql_query("UPDATE table SET le_champ_en_question = '".$chaine."' WHERE id_de_reconnaissance = ".$id);
    }

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Par défaut
    Merci de votre aide

    Si çà peut aider quelqu'un voici le code que j'ai utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
     
    	$cpt = 0;
     
    	$dbhost = '**********';
    	$dbname = '**********';
    	$dbuser = '**********';
    	$dbpasswd = '**********';
     
    	$connect = mysql_connect($dbhost, $dbuser, $dbpassword);
    	$db = mysql_select_db($dbname);
     
    	$sql = "SELECT id, champ FROM table
                WHERE champ LIKE '%login.free.fr%'";
     
    	$req = mysql_query($sql) or die(mysql_error());
     
    while ( $list = mysql_fetch_array($req)) { 
    	$cpt= $cpt + 1;
    	$id = $list['id'];
    	$text = $list['champ'];
     
    	$chaine = str_replace("login.free.fr", "www.monsite.com", $text); 
    	$chaine2 = str_replace("'", "\'", $chaine); 
     
    	$sql_upd = "UPDATE table SET champ = '" . $chaine2 . "' WHERE id = " . $id;
     
    	$req_upd = mysql_query($sql_upd) or die(mysql_error());
     
    	echo "Enreg n " . $id . " mis à jour<br>" . $text . "<br><br>" . $chaine2 . "<br><br><br><br>";
    }
     
    echo "<strong>" . $cpt . " enreg mis à jour<strong>"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Remplacer une chaîne de caractères dans une base de données
    Par Furius dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 27/11/2013, 21h06
  2. Remplacer une chaîne de caractère dans un gros fichier
    Par dosilbr dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 06/03/2007, 13h38
  3. Réponses: 8
    Dernier message: 15/07/2006, 18h59
  4. Réponses: 3
    Dernier message: 07/12/2005, 10h09
  5. Remplacer une chaîne de caractères dans une base
    Par Furius dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/10/2005, 23h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo