Foros del Web » Programando para Internet » PHP »

Obtener mas de un id con $_REQUEST de un hidden.

Estas en el tema de Obtener mas de un id con $_REQUEST de un hidden. en el foro de PHP en Foros del Web. Hola. Tengo un formulario en donde guardo tengo que guardar valores de productos y para ello ocupo el id de cada producto. Hasta aqui todo ...
  #1 (permalink)  
Antiguo 24/05/2013, 22:50
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 10 años, 1 mes
Puntos: 4
Pregunta Obtener mas de un id con $_REQUEST de un hidden.

Hola.

Tengo un formulario en donde guardo tengo que guardar valores de productos y para ello ocupo el id de cada producto.
Hasta aqui todo bien.

Los id de los productos que ocupo los guardo en una variable: $idProductos y al imprimir dicha variable efectivamente toma los id que ocupo, por ejemplo tengo un pastel y un cepillo, y si imprimo en el mismo archivo la variable me salen sus ids 27 y 28. (Esto en el primer php)

Ahora, guardo la variable en un input hidden a fin de poder usarla en otro archivo php (segundo php) y la obtengo mediante $_REQUEST, quedando algo asi:

$id = $_REQUEST['idProd'];
echo $id;

Si imprimo $id, solo me toma el ultimo valor,y no los 2 valores como lo hace en el primer php.

¿Como podria hacerle para obtener dichas variables?

Desde ya muchas gracias!!!
__________________
Keep learning, someday the knowledge will be your future...
  #2 (permalink)  
Antiguo 24/05/2013, 23:29
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 13 años, 9 meses
Puntos: 12
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Si vas a utilizar muchos valores, ¿no te convendría guardarlos en un array en lugar de una variable? Se aconseja no utilizar $_REQUEST para recuperar valores sino $_POST
  #3 (permalink)  
Antiguo 25/05/2013, 10:16
 
Fecha de Ingreso: junio-2009
Ubicación: Bolivia
Mensajes: 96
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Pues, deberias guardarlo en un array y asi poder controlar los ids que mandas o en todo caso creas una tabla auxiliar y guardas ahi tus datos.
saludos
  #4 (permalink)  
Antiguo 25/05/2013, 12:05
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 10 años, 1 mes
Puntos: 4
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Podría darme un ejemplo de ello, por favor?

Muchas gracias por responder.
Saludos.
__________________
Keep learning, someday the knowledge will be your future...
  #5 (permalink)  
Antiguo 25/05/2013, 12:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 4 meses
Puntos: 2534
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Ejemplo:
Código HTML:
<!-- MAL -->
<input name="foo">
<input name="foo">
<input name="foo">

<!-- BIEN -->
<input name="foo[]">
<input name="foo[]">
<input name="foo[]"> 
Necesitas agregar los [] para que se comporte dicho campo como array.

Para recuperarlos es simple:
Código PHP:
var_dump($_POST['foo']); 
Consulta el manual: http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 25/05/2013, 12:42
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 10 años, 1 mes
Puntos: 4
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Cita:
Iniciado por pateketrueke Ver Mensaje
Ejemplo:
Código HTML:
<!-- MAL -->
<input name="foo">
<input name="foo">
<input name="foo">

<!-- BIEN -->
<input name="foo[]">
<input name="foo[]">
<input name="foo[]"> 
Necesitas agregar los [] para que se comporte dicho campo como array.

Para recuperarlos es simple:
Código PHP:
var_dump($_POST['foo']); 
Consulta el manual: http://www.php.net/variables.external
Es posible guardar los valores que arroja var_dump o print_r en una sola variable?
De este modo podre usarlara para una consulta sql.
Gracias.
__________________
Keep learning, someday the knowledge will be your future...

Última edición por Loop29; 25/05/2013 a las 12:56
  #7 (permalink)  
Antiguo 25/05/2013, 13:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 4 meses
Puntos: 2534
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Ya es una variable, pero es un array, lo cual es incompatible con cadenas de texto.

En ocasiones suele usarse de este modo:
Código PHP:
Ver original
  1. $foo = join(', ', $_POST['foo']);
  2. $sql = "WHERE column IN($foo)";

La idea es convertir dichos valores en una lista separada por comas básicamente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 25/05/2013, 13:13
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 10 años, 1 mes
Puntos: 4
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Cita:
Iniciado por pateketrueke Ver Mensaje
Ya es una variable, pero es un array, lo cual es incompatible con cadenas de texto.

En ocasiones suele usarse de este modo:
Código PHP:
Ver original
  1. $foo = join(', ', $_POST['foo']);
  2. $sql = "WHERE column IN($foo)";

La idea es convertir dichos valores en una lista separada por comas básicamente.
Perdon, pero no capto muy bien la idea, podria entonces usar el valor de $_POST asi?
Código PHP:
Ver original
  1. $consulta = "SELECT nombre FROM producto where id = '$_POST[idProd]'";
Por que al parecer no me esta haciendo la busqueda en bd, por eso mi duda de la variable hehe.

Gracias.
__________________
Keep learning, someday the knowledge will be your future...
  #9 (permalink)  
Antiguo 25/05/2013, 13:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 4 meses
Puntos: 2534
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Si, es posible pero siempre y cuando exista dicha variable en $_POST, es decir, que un campo tenga name="idProd" y desde luego que el formulario sea de tipos post.

Pero bueno, si no te sirve será por algo que no podemos adivinar, si no muestras cómo es tu formulario ni como recibes los datos es imposible ver.

Si no sabes trabajar con variables de los formularios te sugiero leer el siguiente manual: http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 25/05/2013, 13:43
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 10 años, 1 mes
Puntos: 4
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Pues basicamente el formulario es asi:
Código PHP:
Ver original
  1. <form method="post" action="valida.php">
  2. <?
  3. //Hago una consulta para obtener ids y guardo en una variable, la cual oculto en un hidden
  4. <input type="hidden" name="idProduct[]" value="<?echo $id; ?>">
  5. //Si hago el echo me imprime las id actuales que necesito
  6. echo $id
  7. <input type="submit">
  8. ?>
  9. </form>
  10.  
  11. Ahora, en valida.php recibo asi el valor:
  12. <?
  13. var_dump($_POST['idProd']);
  14.  
  15. Y luego hago una consulta para obtener datos en base a las ids que pase con $_POST
  16. $consulta = "SELECT nombre FROM producto where idProd = '$_POST[idProd]'");
  17. $resultado = mysql_query($consulta) or die('Consulta fallida: ' . mysql_error());
  18.  
  19. while($data = mysql_fetch_array($resultado)){
  20.     $nombre = $data['nombre'];
  21.    
  22. }
  23.         echo 'Si llego aqui';
  24.     echo $nombre;
  25. ?>

Pero ni si quiera imprime el 'Si llego aqui', y la consulta fallida es: Unknown column 'Array' in 'where clause'.

:S
__________________
Keep learning, someday the knowledge will be your future...
  #11 (permalink)  
Antiguo 25/05/2013, 13:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 4 meses
Puntos: 2534
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Es lo que te dije antes, un array no es compatible con cadenas de texto.

Justamente el error se debe a que estás colocando una variable de un array directamente en tu cadena de texto para la consulta, eso está mal.

Deberías aprender a trabajar primero con arrays, consulta un manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 25/05/2013, 14:06
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 10 años, 1 mes
Puntos: 4
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Entonces tendria que parsear el array a string?
__________________
Keep learning, someday the knowledge will be your future...
  #13 (permalink)  
Antiguo 25/05/2013, 14:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 4 meses
Puntos: 2534
Respuesta: Obtener mas de un id con $_REQUEST de un hidden.

Mas o menos, si lo quieres llamar de esa forma, si.

Los arrays son estructuras de datos, lo que debes hacer es convertir dicha estructura en algún tipo de dato compatible con cadenas.

Pero primero debes definir que uso la vas a dar a la lista y de que forma, eso solo lo sabes tu.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: formulario, request, variables
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 12:14.