Foros del Web » Creando para Internet » Herramientas y Software »

insertar registro d un form a mysql luego d ejecutar el comportamiento repetir region

Estas en el tema de insertar registro d un form a mysql luego d ejecutar el comportamiento repetir region en el foro de Herramientas y Software en Foros del Web. Saludos a todos! Bien, he leído por horas tratando de encontrar la forma de hacer lo siguiente, si alguien tiene alguna sugerencia bienvenida sea: EXPLICO: ...
  #1 (permalink)  
Antiguo 07/04/2010, 17:13
 
Fecha de Ingreso: enero-2010
Mensajes: 40
Antigüedad: 14 años, 3 meses
Puntos: 1
insertar registro d un form a mysql luego d ejecutar el comportamiento repetir region

Saludos a todos!

Bien, he leído por horas tratando de encontrar la forma de hacer lo siguiente, si alguien tiene alguna sugerencia bienvenida sea:

EXPLICO: estoy utilizando dreamwaver php y mysql, tengo una PAGINA2 la cual es el resultado de la PAGINA1, en la PAGINA2 tengo un comportamiento de REPETIR REGIÓN el cual es el resultado de una consulta a una de las tablas.

-Hasta ahora no hay problema-, sucede que ese comportamiento (REPETIR REGION) mediante un código que pude lograr hacer le hago una Edición y puedo tomar los campos para insertarlo a otra tabla, para insertar esa edición lograda uso otro comportamiento el de INSERTAR DATOS de dreamwaver, el problema radica: que en la tabla que inserto los datos editados solo se almacena el ultimo registro.

PREGUNTA ¿como podría poner el comportamiento INSERTAR DATOS dentro del compotamiento REPETIR REGIÓN de manera que en la segunda tabla se almacenen todos los datos y no un solo registro como hasta ahora.?

NOTA: estoy claro que insertar los datos debe ir dentro del DO WHILE del comportamiento repetir región, LO HE PUESTO EN TODOS LADOS Y NO CONSIGO QUE SE ALMACENEN TODOS LOS REGISTRO, lo único que he logrado es que se repita el ultimo registro modificado.

GRACIAS MIL

Espero que se entienda mi pregunta y por supuesto espero también sus ayudas, HUMILDEMENTE: NUEVO EN ESTO!

Última edición por Andy2010; 07/04/2010 a las 18:02
  #2 (permalink)  
Antiguo 08/04/2010, 06:52
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 18 años, 5 meses
Puntos: 281
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

No me ubico bien pero entiendo que sí necesitas un loop si vas a editar varios records a la vez. Entiendo donde tienes el problema pero hasta no ver el código no sé como se puede arreglar. Deja el código para poder revisarlo.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #3 (permalink)  
Antiguo 08/04/2010, 13:27
 
Fecha de Ingreso: enero-2010
Mensajes: 40
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

Código PHP:
Ver original
  1. <?php do { ?>          
  2.              
  3.           <tr>
  4.             <td class="Estilo23"><?php $campo1=$row_tabla1['codigo']; ?></td>
  5.             <td class="Estilo23"><?php $campo2= $row_tabla1['g_codigo']; ?></td>
  6.             <td class="Estilo23"><?php $campo3= $row_tabla1['i_codigo']; ?></td>
  7.             <td class="Estilo23"><?php echo $row_tabla1['r6_codigo']; ?></td>
  8.             <td class="Estilo23"><strong><?php echo $variable2=$tabla1['variable2']; ?></strong></td>
  9.             <td class="Estilo23"><?php echo $row_tabla1['nombre']; ?></td>
  10.             <td class="Estilo23"><?php echo $row_tabla1['apellido']; ?></td>
  11.             <td class="Estilo23"><label>
  12.               <input type="hidden" name="codigo" id="codigo" value="<?php echo $campo1 ?>" />
  13.               <input type="hidden" name="gcodigo" id="gcodigo" value="<?php echo $campo2 ?>"/>
  14.               <input type="hidden" name="icodigo" id="icodigo" value="<?php echo $campo3 ?>" />
  15.               <input type="hidden" name="variable2" id="varable2" value="<?php echo $variable2 ?>"/>
  16.               <br />
  17.             </label></td>
  18.             <td><label>
  19.               <input name="califica" type="text" class="Estilo22" id="califica" size="3" maxlength="3" />
  20.             </label></td>
  21.           <td><label>
  22.             <input name="valor1" type="text" class="Estilo22" id="valor1" size="2" maxlength="2" />
  23.           </label></td>
  24.           <td><label>
  25.             <input name="observacion" type="text" class="Estilo23" id="observacion" />
  26.           </label></td>
  27.           </tr>
  28.          
  29.          
  30.                   <?php  if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  31.   $insertSQL = sprintf("INSERT INTO icalifica (codigo, gcodigo, icodigo,varible2 ,califica, valor1, observacion) VALUES (%s, %s, %s, %s, %s, %s, %s)",
  32.                        GetSQLValueString($_POST['codigo'], "text"),
  33.                        GetSQLValueString($_POST['gcodigo'], "int"),
  34.                        GetSQLValueString($_POST['icodigo'], "text"),
  35.                        GetSQLValueString($_POST['variable2'], "text"),
  36.                        GetSQLValueString($_POST['califica'], "int"),
  37.                        GetSQLValueString($_POST['valor'], "int"),
  38.                        GetSQLValueString($_POST['observacion'], "text"));
  39.  
  40.   mysql_select_db($database_datos, $datos);
  41.   $Result1 = mysql_query($insertSQL, $datos) or die(mysql_error());
  42.  
  43.   $insertGoTo = "pagina_de_confirmacion.php";
  44.   if (isset($_SERVER['QUERY_STRING'])) {
  45.     $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
  46.     $insertGoTo .= $_SERVER['QUERY_STRING'];
  47.   }
  48.   //header(sprintf("Location: %s", $insertGoTo));
  49. } ?>
  50.          
  51. <?php  //} while ($row_tabla1 = mysql_fetch_assoc($tabla1)); ?>  
  52.                
  53.                    <?php  } while ($row_tabla1 = mysql_fetch_assoc($tabla)); ?>  
  54.           </table>

Este es el código, EXPLICO: en el comportamiento REPETIR REGIÓN al consultar el numero de campos que aparecerán dependen de la cantidad de campos que tiene esa tabla y de la condición especificada(eso lo sabemos todos), ahora lo que me gustaría saber es como INSERTAR esos mismo números de campos que aparecieron en otra tabla, OSEA QUE: si me aparecieron 4 registro esos mismo 4 registro sean insertado en la nueva tabla, si aparecen solo dos, que sean esos dos los que se inserten y así sucesivamente. HASTA AHORA CON EL CÓDIGO QUE MUESTRO SOLO HE LOGRADO QUE EL ULTIMO REGISTRO SEA INSERTADO REPETIDO.

Por favor si alguien puede ayudarme a resolver esto le estaré agradecido
  #4 (permalink)  
Antiguo 10/04/2010, 08:27
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 18 años, 5 meses
Puntos: 281
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

Necesitas enviar arrays para poder poder recibir los valores como valores múltiples, luego hacer un loop que se repita dependiendo de los records en ese array. Me imagino que usas los campos ocultos para enviar los valores. Necesitas cambiarlos de, por ejemplo:

Código PHP:
Ver original
  1. <input type="hidden" name="codigo" id="codigo" value="<?php echo $campo1 ?>" />

a

Código PHP:
Ver original
  1. <input type="hidden" name="codigo[]" id="codigo" value="<?php echo $campo1 ?>" />

Luego, al tope de la página donde tienes el recordset recibes las variables si han sido enviadas. Necesitas un formulario y un botón para enviar las variables. Puedes usar el botón o el formulario (o cualquiera de los campos para verificar cuando ha sido enviada). Aquí yo uso el mismo código que usas. Vas a necesitar el campo que crea DW (MM_insert) con el valor de "form1" que por alguna razón lo borraste. :


Código PHP:
Ver original
  1. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  2.    
  3.     foreach($_POST["codigo"] as $key => $value){
  4.    
  5.         $insertSQL = sprintf("INSERT INTO icalifica (codigo, gcodigo, icodigo,varible2 ,califica, valor1, observacion) VALUES (%s, %s, %s, %s, %s, %s, %s)",
  6.                     GetSQLValueString($_POST['codigo'][$key], "text"),
  7.                     GetSQLValueString($_POST['gcodigo'][$key], "int"),
  8.                     GetSQLValueString($_POST['icodigo'][$key], "text"),
  9.                     GetSQLValueString($_POST['variable2'][$key], "text"),
  10.                     GetSQLValueString($_POST['califica'][$key], "int"),
  11.                     GetSQLValueString($_POST['valor'][$key], "int"),
  12.                     GetSQLValueString($_POST['observacion'][$key], "text"));
  13.         *
  14.         mysql_select_db($database_datos, $datos);
  15.         $Result1 = mysql_query($insertSQL, $datos) or die(mysql_error());
  16.         *
  17.         $insertGoTo = "pagina_de_confirmacion.php";
  18.         if (isset($_SERVER['QUERY_STRING'])) {
  19.             $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
  20.             $insertGoTo .= $_SERVER['QUERY_STRING'];
  21.         }
  22.         header(sprintf("Location: %s", $insertGoTo));
  23.     }
  24. }


Como ves le añadí el loop:

Código PHP:
Ver original
  1. foreach($_POST["codigo"] as $key => $value){
  2.  
  3.   //codigo
  4.  
  5. }

y a las variables les agregué "[$key]" para que sepan cuales elementos de array den insertar en la base de datos.

Me dejas saber si tienes algún problema.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #5 (permalink)  
Antiguo 12/04/2010, 21:20
 
Fecha de Ingreso: enero-2010
Mensajes: 40
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

Hermano Juaniquillo, gracias por responder, en las próximas horas ya tendré respuesta informándote si me funciona o no, luego de la ayuda ofrecida por ti.

Me siento muy contento, ya que me aclaras una duda lógica bastante problemática para mi que soy nuevo en esto!

Ya te aviso como me fue!
Gracias
  #6 (permalink)  
Antiguo 08/05/2010, 13:22
 
Fecha de Ingreso: enero-2010
Mensajes: 40
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

Saludos Juaniquillo, no había respondido, porque estaba re formulando todo nuevamente, puesto que tuve a punto de perder la mayor parte de la información en mi pc.

Bueno el caso es que tengo un inconveniente con lo que me explicaste, sucedes que al momento de editar y agregar $key, añadir el Loop y la demás cosas", me pasa algo malo con el DW, pues al lado derecho de la pantalla del mismo tengo los Comportamientos del Servidor y al hacer estas modificaciones se desaparece el de "INSERTAR REGISTRO" y prefiero no continuar por temor a dañar todo.

LA SOLUCION SERIA:

En el panel Comportamientos del servidor (Ventana > Comportamientos del servidor), haga clic en el botón de signo más (+) y seleccione Editar comportamientos de servidor en el menú emergente.
El cuadro de diálogo Editar comportamiento de servidor muestra todos los comportamientos correspondientes a la actual tecnología de servidores.

1-Seleccione el comportamiento de servidor y haga clic en Editar.
2-Seleccione el correspondiente bloque de código y modifique el código, los marcadores de parámetro o la posición del bloque de código que se va a insertar en las páginas.
3-Si el código modificado no contiene parámetros proporcionados por el diseñador, haga clic en Aceptar.
Dreamweaver regenerará el comportamiento de servidor sin ningún cuadro de diálogo. El nuevo comportamiento de servidor aparecerá en el menú emergente de signo más (+) del panel Comportamientos del servidor.

4-Si el código modificado contiene parámetros proporcionados por el diseñador, haga clic en Siguiente.
Dreamweaver le preguntará si desea crear un nuevo cuadro de diálogo que sobrescriba al antiguo. Realice los cambios que desee y haga clic en Aceptar.

Dreamweaver guardará todos los cambios en el archivo EDML del comportamiento de servidor.


PERO QUE PASA? >> cuando le doy clic en editar comportamiento del servidor y luego elijo PHP MySql, no me aparece ningún comportamiento sabiendo que tengo como 3.

Por favor disculpa los inconvenientes, si tienes algún tips importante para esto te estaría agradecido.


Gracias.

Última edición por Andy2010; 08/05/2010 a las 13:39
  #7 (permalink)  
Antiguo 08/05/2010, 19:48
 
Fecha de Ingreso: enero-2010
Mensajes: 40
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

Bueno me arriesgue!

Modifique el codigo completamente, luego de ejecutar todo tal cual me lo indica Juaniquillo, tengo un error que dice: "Warning: Invalid argument supplied for foreach() line 85"

Osea en esta linea:
Código PHP:
Ver original
  1. foreach($_POST["codigo"] as $key => $value){

Si alguien pudiera ayudarme Agradecido!

Por otro lado si en la tabla en la que voy almacenar los datos tengo el codigo[Primary Key]:auto_increment. ¿funcionaria igual?
  #8 (permalink)  
Antiguo 09/05/2010, 19:55
 
Fecha de Ingreso: enero-2010
Mensajes: 40
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

Bueno el "Warning: Invalid argument supplied for foreach() on line 85" Fue solucionado!

Acabo de correr perfectamente la pagina, PERO solamente se está almacenando el 1ro. de 5 campos que tengo, el paciente murió, pues no me funcionó el asunto de foreach();, Juaniquillo si tienes una sugerencia bienvenida sea.!

Gracias

Última edición por Andy2010; 10/05/2010 a las 06:10
  #9 (permalink)  
Antiguo 09/05/2010, 20:27
 
Fecha de Ingreso: enero-2010
Mensajes: 40
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

Solucionado Funciona Perfecto!!, he corregido los errores y ya todo funciona bien!, el paciente ha vuelto a la vida!

Gracias!

Última edición por Andy2010; 10/05/2010 a las 06:41
  #10 (permalink)  
Antiguo 10/05/2010, 19:14
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 18 años, 5 meses
Puntos: 281
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

Saludos Andy. Perdón que no había pasado antes pero he tenido demasiado trabajo en estos días. Que bueno que has podido resolver tu problema. Saludos.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #11 (permalink)  
Antiguo 26/01/2015, 11:11
 
Fecha de Ingreso: enero-2015
Mensajes: 1
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: insertar registro d un form a mysql luego d ejecutar el comportamiento rep

Cita:
Iniciado por Andy2010 Ver Mensaje
Solucionado Funciona Perfecto!!, he corregido los errores y ya todo funciona bien!, el paciente ha vuelto a la vida!

Gracias!
Tengo el mismo problema!
como lo resolviste?
ayuda!!!!

Etiquetas: editores-web, ejecutar, mysql, registro, repetir, formulario
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:43.