Foros del Web » Programando para Internet » PHP »

problema con formulario

Estas en el tema de problema con formulario en el foro de PHP en Foros del Web. Hola a todos. Esto seguro que es muy facil...Tengo un formulario generado con los resultados de una consulta previa. Parte del codigo sería este: echo ...
  #1 (permalink)  
Antiguo 08/03/2007, 08:02
 
Fecha de Ingreso: diciembre-2006
Mensajes: 14
Antigüedad: 17 años, 4 meses
Puntos: 0
problema con formulario

Hola a todos.
Esto seguro que es muy facil...Tengo un formulario generado con los resultados de una consulta previa. Parte del codigo sería este:

echo '<form method="post" action="pagina2.php">';

echo '<table border="1">';
echo '<tr><td>idproducto</td><td>producto</td><td>precio</td></tr>';

while($row = $result->fetch_assoc())
{
echo '<tr><td>';
echo $row['idproducto'];
echo '<input type="input" name="idprod" value="'. $row['idproducto'] . '">';
echo '</td><td>';
echo $row['producto'];
echo '</td><td>';
echo $row['precio'];
echo '</td><td>';
echo '<input type="submit" name="valor1" value="Ver Mas" title="click">';
echo '</td></tr>';
}

echo '</table>';

echo '</form>';


Al hacer click en el boton "Ver Mas" quiero capturar el dato idproducto correspondiente al registro donde he hecho click en el boton.

Al utilizar el siguiente codigo, me muestra sólo el ultiimo:

echo $_POST['idprod'];

Cómo se hace para capturar el dato concreto que se ha seleccionado?

Gracias, y salu2
  #2 (permalink)  
Antiguo 08/03/2007, 08:45
Avatar de HMSJUAN  
Fecha de Ingreso: febrero-2007
Mensajes: 54
Antigüedad: 17 años, 1 mes
Puntos: 1
Re: problema con formulario

Un Novato Dice
Creo Que no necesitas un formulario para esto
Solo pones un link a la pagina2 con el id que quieres


Código PHP:

echo '<table border="1">';
echo 
'<tr><td>idproducto</td><td>producto</td><td>precio</td></tr>';

while(
$row $result->fetch_assoc())
{
echo 
'<tr><td>';
echo 
$row['idproducto'];
echo 
'</td><td>';
echo 
$row['producto'];
echo 
'</td><td>';
echo 
$row['precio'];
echo 
'</td><td>';
$id=$row['idproducto'];
echo 
"<a href='pagina2.php?id=$id'>Ver Mass...</a>";
echo 
'</td></tr>';
}

echo 
'</table>'
En La pagina2.php
Capturas el id de la siguiente forma
Código PHP:
$id=$_GET["id"]; 
Y Luego Consultas De New Para mostrar todo los datos de este producto

Si Dios está con nosotros ¿Quién podrá contra nosotros? (S. Pablo).
  #3 (permalink)  
Antiguo 08/03/2007, 11:42
 
Fecha de Ingreso: diciembre-2006
Mensajes: 14
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: problema con formulario

Gracias por la respuesta HMSJUAN.

Pero me gustaría saber cómo se haría si utilizara un formulario. Para saber tambien pasar las variables por $_POST

Gracias.
  #4 (permalink)  
Antiguo 08/03/2007, 11:57
 
Fecha de Ingreso: enero-2007
Mensajes: 272
Antigüedad: 17 años, 3 meses
Puntos: 5
Re: problema con formulario

Las filas Html no son parte del formularios, "vease controles de formularios", por lo tanto la información de filas no tienes como enviarlas, no así si tienes a cada fila asociada un checkbox, internamente manejando con un arreglo podrías guardar dicho valor del id del producto, sin embargo para tu caso no es conveniente ya que podrías seleccionar mas de un checkbox, ¿cierto?.
Por lo tanto lo que ha expuesto el amigo de mas arriba lleva razón.
  #5 (permalink)  
Antiguo 08/03/2007, 12:14
 
Fecha de Ingreso: diciembre-2006
Mensajes: 14
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: problema con formulario

Gracias por las respuestas pero...añado otra cuestion:

Vamos a suponer que trabajo con un carrito de la compra.
Y que en cada fila de un producto necesito que aparezca un control input para poder meter el numero de unidades que quiero para cada producto.

En este caso cómo recogo el valor de las unidades introducidas?

Gracias
  #6 (permalink)  
Antiguo 08/03/2007, 13:02
 
Fecha de Ingreso: enero-2007
Mensajes: 272
Antigüedad: 17 años, 3 meses
Puntos: 5
Re: problema con formulario

Arreglos !!!

nunca he hecho lo que tu dices, pero he trabajado con checkbox

Código:
<input name="borrar[{$fila.run}][{$fila.id_asignatura_cso}]" type="checkbox">
si te fijas esos valores son asignados al nombre de control borrar, que al momento de procesarlo con Php lo trato como cualquier arreglo de Php, en tu caso debes hacer algo similar, asignar esos valores al arreglo que tengas creado.

Es solo una idea...

PD: Ahora no ando de timepo como para armarte un ejemplo sencillo...
  #7 (permalink)  
Antiguo 09/03/2007, 06:21
Avatar de HMSJUAN  
Fecha de Ingreso: febrero-2007
Mensajes: 54
Antigüedad: 17 años, 1 mes
Puntos: 1
Re: problema con formulario

Saludos:


Evitanos Problemas Rompiendonos la cabeza imaginandonos lo que quieres hacer y planteas de una vez que deseas hacer.
Un Carrito de compras. Eso lo encuentras donde quiera y solo tnez que adaptarlo a tu gustos.....

Plantea Bien Tu Cuestion.....
  #8 (permalink)  
Antiguo 09/03/2007, 06:44
Avatar de HMSJUAN  
Fecha de Ingreso: febrero-2007
Mensajes: 54
Antigüedad: 17 años, 1 mes
Puntos: 1
Re: problema con formulario

Bamos Ahora A resolver tu probema:

Arcivo formulario.php
Código PHP:
<html>
<head>
<title>Adivina</title>
</head>

<body>
<table width="22%" border="1">
  <tr>
    <td width="13%">Producto</td>
    <td width="13%">Cantidad</td>
    <td width="74%">&nbsp;</td>
  </tr>
  
  <?php    
  
//Haces tu coneccion y tu consulta de la fdorma que desees 
  
$consulta="select * from trabla";
  
$resultado=mysql_query($consulta);
  while (
$fila=mysql_fetch_array($resultado)){
  
?>
  <form name="como" method="post" action="pagina2.php">
  <tr>
    <td><input type="hidden" value="<?=$fila["codigo"]?>" name="codigo"/> <?=$fila["nombreproducto"]?></td>
    <td><input type="text" name="cantidad"  /> </td>
    <td><input  type="submit" value="Agregar"  /></td>
  </tr>
  <?
            
//final de bucle
  
mysql_free_result();
   
?>
  
</table>
</body>
</html>
Ahora la pagiina que recibe el formulario.....
pagina2.php

Código PHP:
 
echo "Producto ".$_POST["codigo"]." Cantidad =".$_POST["cantidad"];
// Luego haces lo que desee 

Por favor informanos si te funciono, mejoralo y luego lo compartes
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:01.