none
MYSQL DO WHILE / WHILE CONCATENAR RRS feed

  • Debate general

  •  Tengo un procedimiento donde tengo variables en texto plano la unica idea que me vino ala mente es esta  pero se puede mejorar?  .

    Donde querty puede ser :

    set @qwerty='0088,Aceite Lata x 18 Lt.,LAT,70.34,102.39,32.05,0R58,Aceituna Verde C/Relleno x 1 kg.,KG,10.17,24.81,14.64,0084,Manzana,KL,4.50,10.00,5.50,';

    WHILE @qwerty != "" DO
        set @var:=SUBSTRING_INDEX(@s,',', 1);
        set @msj=@msj &"<tr ><td style='text-align:left;'>" & @var & "</td> " ;
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
        set @msj=@msj &"<td style='width: 100%;text-align:left;'>" & @var& "</td> ";
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
        set @msj=@msj &"<td style='text-align:center;'>" & @var& "</td>"  
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
        set @msj=@msj &"<td>" & @var& "</td>";
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
        set @msj=@msj &"<td>" & @var& "</td>";
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
        set @msj=@msj &"<td style=' border-right: 1pt solid rgb(11, 45, 107);'>" & @var& "</td>";
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        END WHILE;


    Gracias por la ayuda


    Pasa los puntos prro v:


    • Editado D A M N 1 S e l f viernes, 11 de agosto de 2017 21:01
    • Cambiado Enrique M. Montejo lunes, 14 de agosto de 2017 9:23 Debate relacionada con el acceso a datos con MySql.
    viernes, 11 de agosto de 2017 21:00

Todas las respuestas

  •  Tengo un procedimiento donde tengo variables en texto plano la unica idea que me vino ala mente es esta  pero se puede mejorar?  .

    Donde querty puede ser :

    set @qwerty='0088,Aceite Lata x 18 Lt.,LAT,70.34,102.39,32.05,0R58,Aceituna Verde C/Relleno x 1 kg.,KG,10.17,24.81,14.64,0084,Manzana,KL,4.50,10.00,5.50,';

    WHILE @qwerty != "" DO
        set @var:=SUBSTRING_INDEX(@s,',', 1);
        set @msj=@msj &"<tr ><td style='text-align:left;'>" & @var & "</td> " ;
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
        set @msj=@msj &"<td style='width: 100%;text-align:left;'>" & @var& "</td> ";
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
        set @msj=@msj &"<td style='text-align:center;'>" & @var& "</td>"  
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
        set @msj=@msj &"<td>" & @var& "</td>";
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
        set @msj=@msj &"<td>" & @var& "</td>";
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
        set @msj=@msj &"<td style=' border-right: 1pt solid rgb(11, 45, 107);'>" & @var& "</td>";
        set @qwerty:=replace(@qwerty,concat(@var,','),'');
        END WHILE;

    while ( i<3) do
     
         set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
         set @Msj:= concat(@Msj,"<tr ><td style='text-align:left;'>",@var ,"</td> ");
         set @qwerty:=replace(@qwerty,concat(@var,','),'');
    
         set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
         set @Msj:= concat(@Msj ,"<td style='width: 100%;text-align:left;'>" , @var , "</td> ");
         set @qwerty:=replace(@qwerty,concat(@var,','),'');
    
         set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
         set @Msj:=concat(@Msj ,"<td style='text-align:center;'>" ,@var  , "</td>");  
         set @qwerty:=replace(@qwerty,concat(@var,','),'');
     
         set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
         set @Msj:=concat(@Msj ,"<td>" , @var , "</td>");
         set @qwerty:=replace(@qwerty,concat(@var,','),'');
    
         set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
         set @Msj:=concat(@Msj ,"<td>" , @var  , "</td>");
         set @qwerty:=replace(@qwerty,concat(@var,','),'');
    
         set @var:=SUBSTRING_INDEX(@qwerty,',', 1);
         set @Msj:=concat(@Msj,"<td style=' border-right: 1pt solid rgb(11, 45, 107);'>" , @var  , "</td>");
         set @qwerty:=replace(@qwerty,concat( @var,','),'');
    
         set i= i+1;
     end while;


    Gracias por la ayuda


    Pasa los puntos prro v:




    Pasa los puntos prro v:

    lunes, 21 de agosto de 2017 15:06