Foros del Web » Programando para Internet » PHP »

Necesito ayuda con una función

Estas en el tema de Necesito ayuda con una función en el foro de PHP en Foros del Web. Verán, tengo que subir unos datos a una base de datos SQL. En el campo P0* de la tabla tengo que ir actualizando los valores ...
  #1 (permalink)  
Antiguo 12/06/2010, 14:25
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Necesito ayuda con una función

Verán, tengo que subir unos datos a una base de datos SQL. En el campo P0* de la tabla tengo que ir actualizando los valores que obtengo de un formulario. Como se ve, al campo P01 tengo que asignarle el valor C01 que recibo de un formulario, al P02 el C02 y así sucesivamente.

Para no tener que escribir P0*='$_POST[C0*]', 64 veces ¿se les ocurre una forma de simplificar el código (por medio de alguna función o como sea)?

Cita:
$entra="UPDATE usuarios SET
P01='$_POST[C01]',
P02='$_POST[C02]',
P03='$_POST[C03]',
P04='$_POST[C04]',
...
WHERE nombre='$_POST[nom]'";

PD: pongo este caso para usarlo de ejemplo, éste es un problema que me surge seguido, por lo que sus respuestas me van a servir para otro montón de trabajos.
  #2 (permalink)  
Antiguo 12/06/2010, 15:02
Avatar de SymarCs  
Fecha de Ingreso: abril-2010
Mensajes: 67
Antigüedad: 14 años
Puntos: 1
Respuesta: Necesito ayuda con una función

Puedes probar con un for, y generar 64 consultas (actualizaciones)

Código PHP:
for($i=0;$i<65;$i++){
   
$entra "UPDATE usuarios SET PO".$i."='".$_POST[CO.$i.]."' where nombre='".$_POST[nom]."';";
   
mysql_query($entrada,$conexion);

o concatenar la cadena, para generar una sola consulta

Código PHP:
$entrada "UPDATE usuarios SET";
$entrada2 "";
$entrada3 =" where nombre='".$_POST[nom]."';";

for(
$i=0;$i<65;$i++){
   
//se va creando tu cadena P01='$_POST[C01]',P02='$_POST[C02]',P03='$_POST[C03]' ... 
   
if($i<64){
      
$entrada2 $entrada2." PO".$i."='".$_POST[CO.$i.]."',"//si no es el ultimo valor se agrega una coma (,)
   
}
   else if(
$i==64){
      
$entrada2 $entrada2." PO".$i."='".$_POST[CO.$i.]."'";//si el el ultimo valor no se agrega la coma (,)
   
}
}

$entrada $entrada.$entrada2.$entrada3;

mysql_query($entrada,$conexion); 
Asi lo haria yo, revisala por que la hice al vuelo pero debe funcionar.

Etiquetas: funcion, simplificar, sintactico
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 17:19.