Foros del Web » Programando para Internet » PHP »

Actualizar campos masivamente...

Estas en el tema de Actualizar campos masivamente... en el foro de PHP en Foros del Web. Saludos... Tengo una base de datos a la que por defecto le falta alguna información en un campo específico y que debe ser cumplimentada en ...
  #1 (permalink)  
Antiguo 02/09/2010, 09:09
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Pregunta Actualizar campos masivamente...

Saludos...

Tengo una base de datos a la que por defecto le falta alguna información en un campo específico y que debe ser cumplimentada en algún momento dado.

Pare ello, me he creado una consulta que me lista algunbos valores por cada entrada y a la que he añadido un <input> con el fin de introducir la información más el típico botón 'submit'.

En código, lo tengo así (resumo parte del código que no contiene elementos importantes):

Código PHP:
Ver original
  1. <form>
  2. $sql = "SELECT * FROM tabla WHERE codigo='0';";
  3. $resultado = mysql_query($sql) or die (mysql_error());
  4.  
  5. while ($col = mysql_fetch_array($resultado, MYSQL_NUM)) {
  6.  
  7. $id =  $col[0];
  8. $nombre= $col[1];
  9. $apellido =  $col[2];
  10. $codigo =  $col[3];
  11. $direccion =  $col[4];
  12.  
  13. printf("nombre:%s, apellido:%s, direccion:%s, codigo:<input type="\text\" name=\"%s\"><input type=\"hidden\" name=\"id\">, $nombre, $apellido, $direccion, $codigo; $id);
  14. }
  15. <input type="submit" name="submit" value="agregar"/>
  16. </form>
  17.  
  18. if (isset($_POST['submit'])) {
  19.  
  20. $id = $_POST['id'];
  21. $codigo = $_POST['codigo'];
  22.  
  23. $sql_db = "UPDATE miTabla SET codigo=$codigo WHERE id=$id;";
  24. mysql_query ($sql_db) or die(mysql_error());
  25. }

El problema: No me pasan los POSTs y, por su puesto, no se actualiza la base de datos.

Alguna idea de dónde fallo?

Saludos y gracias
__________________
Andrew :P
  #2 (permalink)  
Antiguo 02/09/2010, 09:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Actualizar campos masivamente...

¿cuales POSTs?

porque yo no veo en ningún lado que uses la super-variable $_POST (que es la que deberías usar)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/09/2010, 10:39
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Actualizar campos masivamente...

la línea #13 envía por el <input> dos valores que recojo después del condicional (línea #18). Los POST lo podrás ver en las líneas #20 y #21 respectivamente.
__________________
Andrew :P
  #4 (permalink)  
Antiguo 02/09/2010, 12:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Actualizar campos masivamente...

te recuerdo que el formulario debe especificar el method, que si no se especifica es siempre GET...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 02/09/2010, 23:58
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Actualizar campos masivamente...

Si, es cierto... la verdad es que intentando ahorra espacio no lo he puesto... Pero mi formulario tiene el method="POST" por defecto. El problema con el código de arriba es que no me pasa las variables. HE intentado trabajar con arrays y me pasa solo la palabra "array".
__________________
Andrew :P
  #6 (permalink)  
Antiguo 03/09/2010, 00:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Actualizar campos masivamente...

sucede que los arrays no se pueden pasar como texto, ya que son un tipo dinámico y propio de PHP...

en todo caso podrías usar serialize() para codificar el array en texto, enviarlo y al recibirlo usas unserialize() para obtener de nuevo el array...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 03/09/2010, 00:14
Avatar de TECKNOCK  
Fecha de Ingreso: agosto-2010
Mensajes: 80
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Actualizar campos masivamente...

Me parece que tu problema esta en el printf

Yo lo pondria asi:
Código PHP:

echo
(
"
 <input type='hidden' name='id' value='."
col[0]".'>
 <input type='hidden' name='nombre' value='"
.col[1]."'>
 <input type='hidden' name='apellido' value='"
.col[2]."'>
 <input type='hidden' name='codigo' value='"
.col[3]."'>
 <input type='hidden' name='dirección' value='"
.col[4]."'>

 <input type='submit' name='submit' value='agregar'/>
"
); 

Etiquetas: campos
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 21:26.