Foros del Web » Programando para Internet » PHP »

Ayuda con codigo no me deja actualizar vacio

Estas en el tema de Ayuda con codigo no me deja actualizar vacio en el foro de PHP en Foros del Web. hola al parecer este codigo me consigue actualizar todos los campo por mucho que sean y me va bastante bien el problema surge cuando quiero ...
  #1 (permalink)  
Antiguo 06/03/2011, 06:11
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Pregunta Ayuda con codigo no me deja actualizar vacio

hola al parecer este codigo me consigue actualizar todos los campo por mucho que sean y me va bastante bien el problema surge cuando quiero actualizar vacio este no me deja , la unica manera en la que surge es cuando dejao un espacio y entonces envio en ese si se envia vacio , sabrian ustede como puedo hacer que se actualizr vacio sin nesesitar dejar ese ese espacio siempre . quie les muestro el codigo muchas gracias.


Código PHP:



           
function getSetString($parray){ 
               foreach(
$parray as $key => $value){ 
                   if(!empty (
$value)){ 
                       if(
is_numeric($value)){ 
                           
$setArray[] = "$key = $value"
  
                       }else{ 
                           
$setArray[] = "$key = '$value'"
                       } 
                        
                   } 
               } 
               return empty(
$setArray)? falseimplode(', ',$setArray); 
           } 
  


$post_array = Array('nombre' => 'Juan','apellido'=>'Cabrera','email'=>'[email protected]','edad' => '20'); 

    
$setString1 getSetString($post_array); 

mysql_query("UPDATE tabla SET {$setString1}  WHERE id_sql=".$_GET['id']."   ; ",$link) or die("Error aqui º".mysql_error()); 
  #2 (permalink)  
Antiguo 06/03/2011, 09:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con codigo no me deja actualizar vacio

y cuando dejas vacío recibes algún error?

aunque parece obvio, al no existir valores con SET en la consulta esta vacío, lo cual provocaría un error de sintaxis de SQL... o bien, en la definición de tu tablas tienes columnas NOT NULL por lo cual no se admiten valores "vacíos"
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/03/2011, 11:31
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Ayuda con codigo no me deja actualizar vacio

que debo hacer? creo que me explique muy bien dime por favor , no me tira ningun error solmanete que si no dejo un espacio no se actualiza.
  #4 (permalink)  
Antiguo 08/03/2011, 06:04
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Pregunta ¿Por que con este código tengo que dejar un espacio para update?,no me gusta.

Hola , no se por que este codigo requiere que deje un espacio no me gusta para nada quisiera poder borrar simplemente y que no alla necesidad de dejar un espacio para actualizarlo , supongo que es por que siempre comprueba que este llene mientras este lleno de no estar lleno no le importaria , pero los que ya tengo llenos son problema por que tendria que dejar un espacio en cada uno a cada momento , si alguien lo entiende o tiene un metodo mejor me gustaria me ayudara gracias , si estas hay abimaelrc
echame una mano porfa.

muestro el codigo

Código PHP:


$post_array 
= Array('nombre' => 'Juan','apellido'=>'Cabrera','email'=>'[email protected]','edad' => '20'); 


 function 
getSetString($parray){ 
               foreach(
$parray as $key => $value){ 
                   if(!empty (
$value)){ 
                       if(
is_numeric($value)){ 
                           
$setArray[] = "$key = $value"
  
                       }else{ 
                           
$setArray[] = "$key = '$value'"
                       } 
                        
                   } 
               } 
                 
                             return empty(
$setArray)? falseimplode(', ',$setArray); 
           } 
  
    
$setString1 getSetString($post_array); 
     
mysql_query("UPDATE tabla SET {$setString1} "); 
  #5 (permalink)  
Antiguo 08/03/2011, 07:12
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: ¿Por que con este código tengo que dejar un espacio para update?,no me gus

Si abimaelrc entiende esto, le hago un altar.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #6 (permalink)  
Antiguo 08/03/2011, 08:00
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: ¿Por que con este código tengo que dejar un espacio para update?,no me gus

es decir que nadie tiene este nivel aqui ?
  #7 (permalink)  
Antiguo 08/03/2011, 08:09
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: ¿Por que con este código tengo que dejar un espacio para update?,no me gus

Cita:
Iniciado por yooom Ver Mensaje
es decir que nadie tiene este nivel aqui ?
Es decir que no te sabes expresar... como dice spider_boy el que entienda ese enredo se le hace un altar.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #8 (permalink)  
Antiguo 08/03/2011, 08:16
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: ¿Por que con este código tengo que dejar un espacio para update?,no me gus

Cita:
Iniciado por yooom Ver Mensaje
es decir que nadie tiene este nivel aqui ?
El codigo que expones es MUY facil de entender, bastante facil de hecho. El problema es saber que ****** tratas de decir:
Cita:
Hola , no se por que este codigo requiere que deje un espacio no me gusta para nada quisiera poder borrar simplemente y que no alla necesidad de dejar un espacio para actualizarlo , supongo que es por que siempre comprueba que este llene mientras este lleno de no estar lleno no le importaria , pero los que ya tengo llenos son problema por que tendria que dejar un espacio en cada uno a cada momento , si alguien lo entiende o tiene un metodo mejor me gustaria me ayudara gracias , si estas hay abimaelrc
echame una mano porfa.
  #9 (permalink)  
Antiguo 08/03/2011, 09:19
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: ¿Por que con este código tengo que dejar un espacio para update?,no me gus

vale los entiendo , explico en resumen , :

<input > //campo de texto
<submit >// envio lleno correcto actualizado correctamente .

//

<input > //campo de texto
<submit >// envio vacio no se actualizo campo vacio sigue como esta.

//

<input > //campo de texto
<submit >// envio dejando un espacio correcto actualizado correctamente Espacio en blanco


// como explique si dejo espacio se actualiza de lo contrario no se actualiza.

pregunta :

¿Como puedo hacer que no necesite un espacio para actualizar el campo vacio?


Espero se entienda ahora Muchas gracias por el apoyo.
  #10 (permalink)  
Antiguo 08/03/2011, 09:22
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: ¿Por que con este código tengo que dejar un espacio para update?,no me gus

if(!empty ($value)){ <-- estas preguntando si no esta vacio, y si es asi entonces haces el proceso.

Quita esa validacion :|
  #11 (permalink)  
Antiguo 08/03/2011, 09:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda con codigo no me deja actualizar vacio

Temas unidos, por favor NO dupliques temas.

Etiquetas: dejar, espacio, vacio
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:49.