Foros del Web » Programando para Internet » PHP »

Array a cadena (Solucionado)

Estas en el tema de Array a cadena (Solucionado) en el foro de PHP en Foros del Web. Me gustaria saber si hay una forma de convertir un Array en una cadena tipo string . Lo que quiero hacer es cachar esos datos ...
  #1 (permalink)  
Antiguo 13/05/2009, 19:19
Avatar de Trilan  
Fecha de Ingreso: abril-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 0
Array a cadena (Solucionado)

Me gustaria saber si hay una forma de convertir un Array en unacadena tipo string.

Lo que quiero hacer es cachar esos datos en un en una variable; Para insertarlo en un query.

Necesito realizar una cadena que me muestre la siguiente sintaxis:
$Cadena="(0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6) ,(7,7),(8,8),(9,9),(10,10)";//Es la cadena que quiero crear con el ciclo.
insert into usuarios (nombre, apellido) values $Cadena

Ciclo:

Código PHP:
    $Cadena=array();
    if(
$accion!=""){
    for(
$i=0;$i<=10;$i++){
        if(
$i==10){
        
$Cadena[$i]="(".$i.",".$i.")";// Aqui Utilizare Variables: Txtcajacampo_1. 
        //$Cadena="($i,$i)";
        
}else{
        
$Cadena[$i]="(".$i.",".$i."),";// de igual manera.
        //$Cadena="($i,$i),";
        
}

        echo 
$Cadena[$i];
    }
        
}

echo 
$Cadena
Query
Código PHP:
$sqlins="insert into usuarios (nombre, apellido) values $Cadena";
echo 
$sqlins;
$res=mysql_query($sqlins,$link); 


SOLUCION Aunque lo solucione con una cadena string.
Código PHP:
    $Cadena="";
    if(
$accion!=""){
    for(
$i=0;$i<=10;$i++){
        if(
$i==10){
        
$Cadena.="($i,$i)";// Aqui Utilizare Variables: Txtcajacampo_1. 
        
}else{
        
$Cadena.="($i,$i),";
        }
    }
        
}

echo 
$Cadena;  //Resultado :(0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10) 

Yours Trilan

Última edición por Trilan; 13/05/2009 a las 23:41
  #2 (permalink)  
Antiguo 13/05/2009, 19:34
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Array a cadena

Código php:
Ver original
  1. $Cadena="(".$i.",".$i.")";
  2.         //$Cadena="($i,$i)";
  3.         }else{
  4.         $Cadena[$i]="(".$i.",".$i."),";

Estas igualando, y el valor se reescribe en cada vuelta.
Tienes que usar el operador: .=

Es decir:
$cadena = "";
$cadena .= "hola ";
$cadena .= "mundo";
echo $cadena;
Imprime hola mundo
$cadena .= $algo es lo mismo que: $cadena = $cadena . $algo;

Tambien, si quieres una cadena, porque lo defines como array:
$Cadena = array();

Si entendi mal, porfavor explica un poquito mejor lo que deseas, porque:
Cita:
Me gustaria saber si hay una forma de concatenar una Array de manera que sea una cadena en un ciclo.
xD No entiendo nada...
  #3 (permalink)  
Antiguo 13/05/2009, 23:19
Avatar de Trilan  
Fecha de Ingreso: abril-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 0
Respuesta: Array a cadena

Perdón por las incoherencias
Lo que necesito es un array o un string ; que me cache N string (que tienen el formato de un array "(1,2)," ) ; a ese string le quiero dar formato (Nombre,Apellido) para realizar solo una inserción(En N numero de filas);

No se si me explique bien; es algo así:
Ejemplo:
insert into usuarios (nombre, apellido) values (1,1) , (2,2) , (3,3) , (4,4) ,(5,5) ,(6,6) ,(7,7) ,(8,8)

Lo que no quiero hacer es:
insert into usuarios (nombre, apellido) values (1,1)
insert into usuarios (nombre, apellido) values (2,2)
insert into usuarios (nombre, apellido) values (3,3)
insert into usuarios (nombre, apellido) values (8,8)


Utilizare un contador para el ciclo; Tengo la duda si se puede realizar con un for ; y guardarlo en una variable $cadena.

y hacer la inserción de la siguiente manera:
insert into usuarios (nombre, apellido) values $Cadena

PD: Gracias

Yours Trilan
  #4 (permalink)  
Antiguo 13/05/2009, 23:29
Avatar de Trilan  
Fecha de Ingreso: abril-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 0
Respuesta: Array a cadena

Gracias Ronruby ya salio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:52.