Foros del Web » Programando para Internet » PHP »

que le ocurre a mi update? aveces envia vacio otras no

Estas en el tema de que le ocurre a mi update? aveces envia vacio otras no en el foro de PHP en Foros del Web. que le ocurre a mi update? aveces envia vacio otras no ? pequeño ejemplo de el sistema que trato algunas veces me envia el update ...
  #1 (permalink)  
Antiguo 04/02/2011, 23:57
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 10 meses
Puntos: 4
Pregunta que le ocurre a mi update? aveces envia vacio otras no

que le ocurre a mi update? aveces envia vacio otras no ?


pequeño ejemplo de el sistema que trato algunas veces me envia el update completo otras solo envia todos y deja uno vacio y en otras como ahora que es cuando mas me a preocupado me acabo de enviar unos 7 campos vacios y eso ya es preocupante.

$variable_dentro="name='"$variable"' etc... "

estoy usando strin SET "- $variable_dentro."
  #2 (permalink)  
Antiguo 05/02/2011, 01:27
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: que le ocurre a mi update? aveces envia vacio otras no

porque no pones el codigo para verlo
  #3 (permalink)  
Antiguo 05/02/2011, 11:44
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: que le ocurre a mi update? aveces envia vacio otras no

Código PHP:
$dentro_var" nombre='".$_POST['nombre']."',apellido='"$_POST['apellido']"'  "

/asi  con  cada uno seguido de comas

mysql_query
=(" UPDATE tabla SET ".$dentro_var." "); 
  #4 (permalink)  
Antiguo 05/02/2011, 13:08
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 10 meses
Puntos: 26
Respuesta: que le ocurre a mi update? aveces envia vacio otras no

Código PHP:
Ver original
  1. $id = $_POST['id'];
  2. $nombre = $_POST['nombre'];
  3. $apellido = $_POST['apellido'];
  4.  
  5. $ssql = mysql_query("UPDATE tabla SET nombre = $nombre, apellido = $apellido where id=$id");

si que tienes problemas, esa es una forma de hacerlo. Modificalo si sabes.
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.
  #5 (permalink)  
Antiguo 05/02/2011, 14:48
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: que le ocurre a mi update? aveces envia vacio otras no

ese $id ese $nombre y ese variable apellido lo puse dentro de una sola variable y entonses lo coloco en el query pero --- buenas noticias le llegue al problema pero nose solucionarlo

Explico:

Cita:
Cuando envió el formulario con datos nuevos distintos a los que tiene actualmente se envía PERO que sucede si lo enviar con los datos ya rellenos , responde de esta forma , RANDOM

deja unos campos vacíos alo loco cual le da la gana , y en ocasiones lo hace cuando envió un nuevo update mete 2 o 3 o quita 2 o 3

¿que ocurre que debo hacer?

-NOTA: probe con empty con isset con != "" e probado de todo
  #6 (permalink)  
Antiguo 05/02/2011, 14:57
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: que le ocurre a mi update? aveces envia vacio otras no

coloca mysql_error()
  #7 (permalink)  
Antiguo 05/02/2011, 20:37
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: que le ocurre a mi update? aveces envia vacio otras no

El problema es que estas concatenando los valores de la variable $_POST sin verificar si realmente contienen algún valor, y para efectos de usar UPDATE necesitas solo pasar los campos que necesitan ser cambiados.
Te dejo un ejemplo de como puedes hacer eso, ojo es un ejemplo así que solo ocupa la idea principal y adaptalo a tu problema.
Código PHP:
Ver original
  1. $post_array = Array('nombre' => 'Juan','apellido'=>'Cabrera','email'=>'[email protected]','edad' => '20');
  2.            $id = 10;
  3.            function getSetString($parray){
  4.                foreach($parray as $key => $value){
  5.                    if(!empty ($value)){
  6.                        if(is_numeric($value)){
  7.                            $setArray[] = "$key = $value";
  8.  
  9.                        }else{
  10.                            $setArray[] = "$key = '$value'";
  11.                        }
  12.                        
  13.                    }
  14.                }
  15.                return empty($setArray)? false: implode(', ',$setArray);
  16.            }
  17.  
  18.            $setString = getSetString($post_array);
  19.            $sqlQuery = "UPDATE tabla SET {$setString} where id=$id";
  20.            echo $sqlQuery;
__________________
Saludos.
  #8 (permalink)  
Antiguo 05/02/2011, 22:15
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: que le ocurre a mi update? aveces envia vacio otras no

dios santo como ago esto 0_0 !!
  #9 (permalink)  
Antiguo 05/02/2011, 23:02
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: que le ocurre a mi update? aveces envia vacio otras no

Cita:
Iniciado por yooom Ver Mensaje
dios santo como ago esto 0_0 !!
"Prueba y error" amigo, todos empezamos así, créeme.
  #10 (permalink)  
Antiguo 07/02/2011, 20:06
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: que le ocurre a mi update? aveces envia vacio otras no

Es obligatiorio que lo ponga en array? lo que pasa es que lo tengo de la forma que explique arriba y son tantos pero tantos que me doleria mucho pasarlos a array y probar esto extiera otra forma

Cita:




$post_array = Array('nombre' => 'Juan','apellido'=>'Cabrera','email'=>'[email protected]' ,'edad' => '20');
$id = 10;
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)? false: implode(', ',$setArray);
}

$setString = getSetString($post_array);
$sqlQuery = "UPDATE tabla SET {$setString} where id=$id";
echo $sqlQuery;




  #11 (permalink)  
Antiguo 10/02/2011, 21:44
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: que le ocurre a mi update? aveces envia vacio otras no

umm creo que estoy mas serca del problema e leido por hay y me dicen que verifique esto ¿alguien sabe como se hace?
update problematico eeste.
Cita:
Quizas los errores no se muestran porque tiene la directiva display_erros del PHP.INI Off

http://foro.elhacker.net/php/problema_update_en_php-t309824.15.html#ixzz1DcOvbQJR

Etiquetas: update, 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 14:35.