Foros del Web » Programando para Internet » PHP »

Ayuda con implode

Estas en el tema de Ayuda con implode en el foro de PHP en Foros del Web. Buenas, tengo un problema con un implode.intento modificar a la vez varios registros de una bd. estos registros, han sido elegidos de una checkbox. me ...
  #1 (permalink)  
Antiguo 18/09/2006, 08:47
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Ayuda con implode

Buenas, tengo un problema con un implode.intento modificar a la vez varios registros de una bd. estos registros, han sido elegidos de una checkbox.

me daba error y no sabia que problema habia. pero al hacer un echo de la sentencia me he dado cuenta que el problema está en una comilla. tengo lo suiguente:

$lista=implode(",",$_POST['seleccion']);

y claro la consulta es la siguiente:

$sql = "UPDATE prod SET vendido='no' WHERE idprod IN('".$lista."')";

el problema es que no cierro ' entre ref y ref, y me queda algo asi:

IN('PROD10083,PROD10084') ...

que me falta al implode para poder añadirle ''??

saludos,

ferranWEB
  #2 (permalink)  
Antiguo 18/09/2006, 08:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
nescesitas escapar tu variable:
Código PHP:
$lista = array();
foreach( 
$_POST['seleccion'] as $clave ) {
       
$lista[] = "'" $clave "'";
}

$lista implode","$lista ); 
  #3 (permalink)  
Antiguo 18/09/2006, 08:55
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 18 años, 5 meses
Puntos: 1
Hola,
un método rápido a partir de tu ejemplo puede ser cambiando el separador del implode de la coma (,) a comilla simple-coma-comilla_simple ( ',' ) y quitando la última comilla antes de usar la cadena con los valores.
Código PHP:
$lista=implode("','",$_POST['seleccion']);
$lista substr($lista0strlen($lista)-1); 
o dejándolo como esta pero quitando las comillas de la consulta SQL
Código PHP:
$sql "UPDATE prod SET vendido='no' WHERE idprod IN(".$lista.")"
__________________
http://www.nosoynadie.net/
  #4 (permalink)  
Antiguo 18/09/2006, 08:55
 
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona
Mensajes: 200
Antigüedad: 20 años
Puntos: 0
Pruebalo asi,

Código PHP:
$sql "UPDATE prod SET vendido='no' WHERE idprod IN ($lista)"
Salud2
  #5 (permalink)  
Antiguo 18/09/2006, 09:01
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
muchisimas gracias chicos!! vaya efectividad, varias opciones y todas funcionando. la tuya fido85 me daba error en la consulta...

saludos, y muchisimas gracias!!!
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 05:13.