Foros del Web » Programando para Internet » PHP »

quitar comas

Estas en el tema de quitar comas en el foro de PHP en Foros del Web. Bueno chav@s que trauma acabo de pasar Llevo dos dias tratando de pasar un arreglo por ajax y por fin lo logre recibo los valores ...
  #1 (permalink)  
Antiguo 23/09/2010, 13:56
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
quitar comas

Bueno chav@s que trauma acabo de pasar


Llevo dos dias tratando de pasar un arreglo por ajax y por fin lo logre recibo los valores de los checkbox a un php, ya casi soluciono mi problema solo un detallito, dichos valores me llegan separados por comas y gracias a esto no puedo hacer mi update...

los valores los recibo asi:


Código PHP:
foreach ($_POST['chk'] as $chk) {
  echo 
$chk."<br />";

y ese echo me da como resultado:

9,
8

los valores son correctos solo quisiera quitar esa coma y hacer solo un update con todos los valores

Espero me puedan ayudar... Gracias
  #2 (permalink)  
Antiguo 23/09/2010, 14:02
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 3 meses
Puntos: 14
Respuesta: quitar comas

Creo que es un problema de la funcion que envia no de la que recoge...pero no estoy seguro.
  #3 (permalink)  
Antiguo 23/09/2010, 14:08
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: quitar comas

Efectivamente, como dije en un principio ¬¬ la funcion me envia el arreglo separado por comas, cosa que prefiero corregir en php, porque es un rollo en ajax...

La idea es tomar ese array que me llega, quitarle las comas e actualizar los valores a la base de datos...

Alguna idea???

Gracias
  #4 (permalink)  
Antiguo 23/09/2010, 14:23
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: quitar comas

Hola

Siempre a los campos que vas a actualizar, los actualices con el mismo valor, puedes usar implode. En el ataque a la bd el filtrado sería algo como esto
Cita:
WHERE campo = " .implode($array, ' or campo = ')."
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 23/09/2010, 14:27
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: quitar comas

Gracias una preguntota...

con esa sentencia las comas que trae el array no afectan??

Bueno mi uodate entonces seria:

$SQL="Update tb_transaccion set realizado=1 where id='.implode($chk)'";

y disculpa pero el or campo no entiendo que va alli???

Gracias
  #6 (permalink)  
Antiguo 23/09/2010, 14:37
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: quitar comas

Hola

La cadena de la consulta ha de quedar así, arreglo a los valores que muestras
Cita:
Update tb_transaccion set realizado=1 where id=9 or id=8
por lo tanto la consulta es esta
Cita:
$SQL="Update tb_transaccion set realizado=1 where id = " .implode($chk, ' or id = ')."
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 23/09/2010, 20:26
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: quitar comas

gracias con el implode quedo perfecto...

muchas gracias Adler

aca como quedo:

$SQL="UPDATE tb_transaccion SET realizado=1 WHERE id IN (".implode($_POST['chk']).")";
$X=mysql_query($SQL) or die('Error en la consulta '.mysql_error());

Etiquetas: comas, quitar
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 16:24.