Foros del Web » Programando para Internet » PHP »

array en mysql

Estas en el tema de array en mysql en el foro de PHP en Foros del Web. Bueno Hola a todos el proeblema que tengo, bueno no tanto problema si no inquietud, necesito declarar una variable que me tome el valor de ...
  #1 (permalink)  
Antiguo 06/02/2012, 10:08
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 12 años, 9 meses
Puntos: 4
array en mysql

Bueno Hola a todos el proeblema que tengo, bueno no tanto problema si no inquietud, necesito declarar una variable que me tome el valor de un arreglo creado dinamicamente, para si poner ingresar el valor de una posicion en mysql

me explico!!!

creo campos dinamicamente en una funcon javascritp, listo hasta ahy todo bien, pero lo que ahora necesito es insertar el valor de los campos en la base de datos, pero no se como hacerlo!!! pido toda la ayuda posible!!

dejo el codigo que crea los campos de taxto dinamicos

esto esta en mi formulario1

Código Javascript:
Ver original
  1. <script language="javascript" type="text/javascript"> /* Abrimos etiqueta de código Javascript */
  2.  
  3.     /* Partimos por definir una variable llamada posicionCampo. Esta variable servirá como índices para marcar cuantos campos se han agregado dinámicamente. La inicializamos en 1, ya que la primera llamada ocurrirá cuando no hayan campos agregados */
  4.  
  5.     var posicionCampo=1;
  6.  
  7.     /* Declaramos la función agregarUsuario( ) */
  8.  
  9.     function agregarUsuario(){
  10.  
  11.     /* Declaramos una variable llamada nuevaFila y a ella le asignamos la recuperación del elemento HTML designado por el id tablaUsuarios. En este caso, la tabla en la que manejamos los campos dinámicamente y llamamos a la función insertRow para agregar una fila */
  12.  
  13.     nuevaFila = document.getElementById("tabla").insertRow(-1);
  14.  
  15.     /* Asignamos a la propiedad id de nuevaFila el valor de posicionCampo, que inicializamos en 1 */
  16.     nuevaFila.id=posicionCampo;
  17.  
  18.     /* Luego en otra variable llamada nuevaCelda, agregaremos una celda a la tabla, mediante la función insertCell */
  19.     nuevaCelda=nuevaFila.insertCell(-1);
  20.  
  21.     /* Con la celda creada, insertamos dinámicamente un campo de texto, el cual almacenaremos en un array llamado nombre, con una posición equivalente a la variable posicionCampo. Una vez terminado, repetimos la acción para el sitio Web y correo, asignando al array respectivo */
  22.  
  23.     nuevaCelda.innerHTML="<td><input type='text' size='34' name='nombre["+posicionCampo+"]' ></td>";
  24.  
  25.     nuevaCelda=nuevaFila.insertCell(-1);
  26.  
  27.     nuevaCelda.innerHTML="<td> <input type='text' size='28' name='web["+posicionCampo+"]' ></td>";
  28.  
  29.     nuevaCelda=nuevaFila.insertCell(-1);
  30.  
  31.     nuevaCelda.innerHTML="<td> <input type='text' size='28' name='correo["+posicionCampo+"]' ></td>";
  32.  
  33.     /* Finalmente añadimos una última celda para las acciones y ahí agregamos un botón llamado Eliminar, el cual al ser presionado (definiendo la propiedad onClick), llamará a una función eliminarUsuario, pasando como parámetro la fila correspondiente */
  34.  
  35.     nuevaCelda=nuevaFila.insertCell(-1);
  36.  
  37.     nuevaCelda.innerHTML="<td><input type='button' value='Eliminar' onclick='eliminarUsuario(this)'></td>";
  38.  
  39.     /* Incrementamos el valor de posicionCampo para que empiece a contar de la fila siguiente */
  40.  
  41.     posicionCampo++;
  42.    
  43.     }
  44. </script>

y en mi formulario2
es donde quiero recoger los valores de mi array para luego insertarlos en la base de datos

Código PHP:
Ver original
  1. <?php
  2.  
  3. require('Conexion.php');
  4.  
  5. $Valor2=array(posicionCampo);
  6.  
  7.       echo '<pre>';
  8.       var_dump($_POST);
  9.       echo '</pre>';
  10.  
  11. //for($v=1; $v<count($Valor2); $v++){
  12.    
  13.     $sql=mysql_query("insert into prueba (Mediso,lote,resultado) values ('{$Valor2}','','')",$Conexion) or die(mysql_error());
  14.  
  15. if($sql){
  16.    
  17.     echo "Se inserto";
  18.    
  19.     }
  20. //}
  21.  
  22. ?>


pero creo que eso esta re mal!!! ayuda por favor agradezco toda la ayuda prestada!!
  #2 (permalink)  
Antiguo 06/02/2012, 10:13
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: array en mysql

obviamente necesitas un ciclo en PHP para armar los insert o updates SQL.

se puede hacer perfectamente con foreach
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 06/02/2012, 11:42
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: array en mysql

listo ya!! me toma los valores ya realice el foreach,

foreach ($val_chk as $val){

$sql=mysql_query("insert into prueba (Mediso,lote,resultado) values ('{$val}','{$segundo}','{$tercero}')",$Conexion) or die(mysql_error());

}

lo que necesito es como puedo realizar la misma insercion para los 3 arrays , no se si se pueda en un mismo foreach!!
  #4 (permalink)  
Antiguo 06/02/2012, 12:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: array en mysql

generalmente, si los 3 array tienen la misma secuencia de keys (exactamente del mismo tamaño) sólo necesitas hacer un foreach a cualquiera, y con el índice (key) extraes el valor de los demás

foreach ($val_chk as $key => $val){

con ello puedes hacer $mi_otro_array[$key], saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 06/02/2012, 12:44
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: array en mysql

mira le puse lo que me dijiste pero no funciona me toma solo el valor del primer arreglo!!
Código PHP:
Ver original
  1. <?php
  2.  
  3. require('Conexion.php');
  4.  
  5. $val_chk= $_REQUEST['nombre'];
  6. $var=$_REQUEST['web'];
  7. $resultadito=$_REQUEST['correo'];
  8.  
  9. foreach ($val_chk as $key => $val){
  10.  
  11.         $sql=mysql_query("insert into prueba (Mediso,lote,resultado) values ('{$val}','{$segundo}','{$tercero}')",$Conexion) or                 die(mysql_error());
  12.  
  13.       echo '<pre>';
  14.       var_dump($_POST);
  15.       echo '</pre>';
  16. }
  17.  
  18. ?>
no se que hice mal
  #6 (permalink)  
Antiguo 06/02/2012, 12:51
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: array en mysql

Ya puede muchas gracias!! :)
  #7 (permalink)  
Antiguo 06/02/2012, 14:20
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: array en mysql

Por que sale este error si esta dentro de codigo php

Warning: Invalid argument supplied for foreach() in C:\AppServ\www\Opcion.php on line 63

Etiquetas: formulario, html, mysql, sql, tabla, variables, usuarios
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 04:30.