Foros del Web » Programando para Internet » PHP »

No tengo mas pacencia ayuda con Update aveces bien otras no.

Estas en el tema de No tengo mas pacencia ayuda con Update aveces bien otras no. en el foro de PHP en Foros del Web. Al segundo update se borran 2 o 3 y en ocaciones borra hasta con uno nuevo los campos llenos se eliminan unos cuantos y se ...
  #1 (permalink)  
Antiguo 19/02/2011, 05:58
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Información No tengo mas pacencia ayuda con Update aveces bien otras no.

Al segundo update se borran 2 o 3 y en ocaciones borra hasta con uno nuevo los campos llenos se eliminan unos cuantos y se envian los nuevos pero no reemplaza lo que ya esta si no que los borra.

probe con esto pero nada.
Código PHP:

$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)? falseimplode(', ',$setArray);
           }
 
           
$setString getSetString($post_array);
           
$sqlQuery "UPDATE tabla SET {$setString} where id=$id";
           echo 
$sqlQuery
  #2 (permalink)  
Antiguo 19/02/2011, 14:42
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: No tengo mas pacencia ayuda con Update aveces bien otras no.

Huh? No entendi NADA de cual es el problema que tienes.

Cita:
Al segundo update se borran 2 o 3 y en ocaciones borra hasta con uno nuevo los campos llenos se eliminan unos cuantos y se envian los nuevos pero no reemplaza lo que ya esta si no que los borra.
En el codigo que expones, donde ejecutas la consulta con mysql_query()?
  #3 (permalink)  
Antiguo 19/02/2011, 19:00
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: No tengo mas pacencia ayuda con Update aveces bien otras no.

$sqlQuery = "UPDATE tabla SET {$setString} where id=$id";
mysql_query( $sqlQuery);
  #4 (permalink)  
Antiguo 20/02/2011, 07:32
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: No tengo mas pacencia ayuda con Update aveces bien otras no.

Código PHP:
Ver original
  1. $sqlQuery = "UPDATE tabla SET micampotabla='$setString' where id=$id";
  2. mysql_query($sqlQuery);

deberia ser asi...
  #5 (permalink)  
Antiguo 20/02/2011, 10:56
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: No tengo mas pacencia ayuda con Update aveces bien otras no.

no lo entiendes se supone que corre el array no un solo campo en los array estan los campos y el resultado.
  #6 (permalink)  
Antiguo 20/02/2011, 11:07
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: No tengo mas pacencia ayuda con Update aveces bien otras no.

Cita:
Iniciado por jheckson Ver Mensaje
Código PHP:
Ver original
  1. $sqlQuery = "UPDATE tabla SET micampotabla='$setString' where id=$id";
  2. mysql_query($sqlQuery);

deberia ser asi...
No su codigo esta bien, bueno en lo que cabe.

------

Bueno en si comienzo viendo

Código PHP:
                       if(is_numeric($value)){
                           
$setArray[] = "$key = $value";
 
                       }else{
                           
$setArray[] = "$key = '$value'";
                       } 
Podrias explicar para que hacer eso?, si es numerico o no estaria mejor poner entre ' ' , el value , luego en la query id=$id , deves poner $id entre ' ', en total el codigo estaria algo asi

Código PHP:
$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)){
                           
$setArray[] = "$key = '$value'";
                    }
               }
               return empty(
$setArray)? falseimplode(', ',$setArray);
           }
 
           
$setString getSetString($post_array);
           
$sqlQuery "UPDATE tabla SET {$setString} where id='$id'";
           echo 
$sqlQuery
Ahora si la salida seria asi:
Código:
UPDATE tabla SET nombre = 'Juan', apellido = 'Cabrera', email = '[email protected]', edad = '20' where id='10'
  #7 (permalink)  
Antiguo 20/02/2011, 11:17
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: No tengo mas pacencia ayuda con Update aveces bien otras no.

Ummm ya me imagino porque esta bien
Código PHP:
Ver original
  1. $post_array = Array('nombre' => 'Juan','apellido'=>'Cabrera','email'=>'[email protected]','edad' => '20');
  2. //...
  3. $setString = getSetString($post_array);
  4. $sqlQuery = "UPDATE tabla SET {$setString} where id=$id";

al principio no note esa parte y tambien desconocia esa forma de hacer eso, gracias por la correccion!!!
  #8 (permalink)  
Antiguo 20/02/2011, 12:41
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: No tengo mas pacencia ayuda con Update aveces bien otras no.

pero aun asi envia vacio ya abia probado como dise soork asi :

Cita:
UPDATE tabla SET nombre = 'Juan', apellido = 'Cabrera', email = '[email protected]', edad = '20' where id='10'

y tambien con el metodo este pero siguen faltando campos por rellenar nose cual es la causa puede que sea por que tengo mas de 100 campos por rellenar a la vez lei por hay una ve que decia que colocara AND y seguido del otro update pero nose tambien probe modificar la ruta en vez de ../../ directamente /destino bueno este metodo se supone qu e berifica que no este vacio pero si gue dando problemas.

yo diria que la causa mas evidente es por que son tantos para update query que le dar por envia vacios los post[] , pero solo son suposiciones.

Cita:
$post_array = Array('nombre' => 'Juan','apellido'=>'Cabrera','email'=>'[email protected]' ,'edad' => '20');
//...
$setString = getSetString($post_array);
$sqlQuery = "UPDATE tabla SET {$setString} where id=$id";
  #9 (permalink)  
Antiguo 20/02/2011, 14:23
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: No tengo mas pacencia ayuda con Update aveces bien otras no.

Cita:
Podrias explicar para que hacer eso?, si es numerico o no estaria mejor poner entre ' ' , el value , luego en la query id=$id , deves poner $id entre ' ', en total el codigo estaria algo asi
Si es un valor numerico no hay necesidad de ponerlo entre comillas, por eso el codigo esta hecho de esa manera.

yooom, explica DETENIDAMENTE el inconveniente, que es lo que deseas hacer y que no hace
Al menos el codigo que has expuesto hasta ahora no tiene ningun problema.
  #10 (permalink)  
Antiguo 20/02/2011, 20:37
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: No tengo mas pacencia ayuda con Update aveces bien otras no.

que envia vacio a la base de datos y otras veces no , pero real mente surge que cuando compruebo si esta isset o no la variable estando el input text no vacio me dice que si lo esta , y no se por que lo hace en ocaciones no se si es por que estoy usando tabs de jquery y paso al otro tap o quisas por que son tantos input text que tengo que enviar o quisas la ruta del archivo a enviar pero nose cual es el problema ese codigo me lo dio un amigo de por aaqui diciondome que el problema lo podia solucionar con ese codigo pero sigue siendo igual. como dije antes son como 100 campos a enviar y lo ultimo que ise fue poner varios query y update individual 30 campos para cada query update.

Etiquetas: mas, update
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 23:05.