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

SGBD Perl Discussion :

While et Variable perdu


Sujet :

SGBD Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 36
    Points
    36
    Par défaut While et Variable perdu
    Bonjour,

    j'aimerais lire deux fichiers avec des url
    url1.txt (ancienne url)
    url2.txt (nouvelle url)
    afin de faire un changement dans une base

    Je recupere mes lignes de la facon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    my @liste1;
    if (open(FILE1,$fic1)) {@liste1 = <FILE1>;} 
    else {print "Erreur lecture :$!\n";}
    close(FILE1);
     
    my @liste2;
    if (open(FILE2,$fic2)) {@liste2 = <FILE2>;} 
    else {print "Erreur lecture :$!\n";}
    close(FILE2);
    et je lance une boucle pour la requete :
    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
    33
    34
    35
    36
    37
     
     
    $j = 0 ;		
    do 
    {
    my $url1 = "$liste1[$j]" ;
    my $url2 = "$liste2[$j]" ;
     
    $query="select idurl, url from master.murl where url Like \'%$url1%\'" ;
    $sth = $dbh->prepare($query);
    $sth->execute();
     
    $i=0;
    while ( @row = $sth->fetchrow_array )
    {
     
    if($row[1] =~ /$url1/ )
    {
    print $url1 ; # ici la valeur est perdu
    print $url2 ; # ici la valeur est perdu
    print "\n" ; 
    print "$row[0]\t$row[1]\n";
    $row[1] =~ s/$url1/$url2/g ;
    $row[1] =~ s/\s+$//; # suppression des espaces en fin de ligne
    print "$row[0]\t$row[1]\n";
    $query2="update master.murl set url = '$row[1]' where idurl = '$row[0]'";
    $sth2 = $dbh->prepare($query2);
    $sth2->execute();
    $sth2->finish();
    $i++;
    }
    }
     
    $j ++ ;
    }until ($j eq $nbl2) ;
     
    $sth->finish();
    Voila la sortie que j'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    www.google.fr
    www.yahoo.fr
    www.free.fr
    www.noos.fr
     
    0
    voulez vous valider les changement O/N
    En fait j'aimerais savoir comment faire passer mes deux variables $url1 et $url2 dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    while ( @row = $sth->fetchrow_array )

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 36
    Points
    36
    Par défaut j'avais oublié un chomp
    je viens de trouver mon erreur
    l'oublie d'un chomp pour les $url1 et $url2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $j = 0 ;		
    do 
    {
    my $url1 = "$liste1[$j]" ;
    my $url2 = "$liste2[$j]" ;
     
    print "$url1" ;
    print "$url2" ;
    chomp($url1);
    chomp($url2);

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

Discussions similaires

  1. [MySQL] requete, while, boucle, variable
    Par k2006 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 25/04/2009, 18h25
  2. Probleme LoadControl Variables perdues
    Par papawemba dans le forum ASP.NET
    Réponses: 18
    Dernier message: 08/02/2008, 18h16
  3. variables perdues à cause des include
    Par diFaenza dans le forum C++
    Réponses: 5
    Dernier message: 01/02/2008, 15h31
  4. Probleme LoadControl Variables perdues
    Par papawemba dans le forum C#
    Réponses: 2
    Dernier message: 22/01/2008, 11h39
  5. Réponses: 2
    Dernier message: 17/09/2005, 17h43

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