Foros del Web » Programando para Internet » PHP »

Recuperar un dato

Estas en el tema de Recuperar un dato en el foro de PHP en Foros del Web. Buenos días!! Espero que me puedan ayudar con un problema. Tengo una página en la que se muestran las referencias de varios productos en una ...
  #1 (permalink)  
Antiguo 19/05/2008, 01:46
 
Fecha de Ingreso: septiembre-2007
Mensajes: 100
Antigüedad: 17 años, 2 meses
Puntos: 0
Recuperar un dato

Buenos días!!

Espero que me puedan ayudar con un problema. Tengo una página en la que se muestran las referencias de varios productos en una lista desplegable y quiero que cuando el usuario elija una de esas referencias, en las demás casillas que aparecen en la misma página se cargue la información (descripción, precio, código, medida,...) del producto elegido.

¿Alguien sabe como puedo hacer eso? Porque consigo que me salgan las referencias pero cuando el usuario elige una no se me carga nada.

Os dejo el código que tengo a ver si me podeis dar una solución:

Código PHP:
echo "<form action=\"confirmargestion.php?accion=borrar&subcategoria=" $subcategoria "\" method=\"post\" enctype=\"multipart/form-data\">";
$resultado mysql_query("SELECT * FROM " $subcategoria);
echo 
"<tr bgcolor=\"#FFFFFF\">";
echo 
"<td colspan=2 width=209>Referencia:</td>";
// Lo que el usuario elige en este select es lo que necesito para que me salga la información en el resto de casillas
echo "<td colspan=2 width=209><select name=\"referencia\">";
while (
$fila mysql_fetch_array($resultado))
{
    echo 
"<option value=\"" $fila["referencia"] . "\">" $fila["referencia"] . "</option>";
}
echo 
"</select></td>";
$producto mysql_query("SELECT * FROM " $subcategoria " WHERE referencia = " $_POST["referencia"]);
$elProducto mysql_fetch_array($producto);
echo 
"<td colspan=2 width=209>Código de marcaje:</td>";
echo 
"<td colspan=2 width=209><input name=\"codigo_marcaje\" type=\"text\" id=\"codigo_marcaje\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["codigo_marcaje"] . "</td>";
echo 
"</tr>";
echo 
"<tr bgcolor=\"#FFFFFF\"><td colspan=\"8\" width=\"836\" height=\"8\"></td></tr>";
echo 
"<tr bgcolor=\"#FFFFFF\">";
echo 
"<td colspan=2 width=209>Descripción:</td>";
echo 
"<td colspan=2 width=209><input name=\"descripcion\" type=\"text\" id=\"descripcion\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["descripcion"] . "</td>";
echo 
"<td colspan=2 width=209>Medida de marcaje:</td>";
echo 
"<td colspan=2 width=209><input name=\"medida_marcaje\" type=\"text\" id=\"medida_marcaje\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["medida_marcaje"] . "</td>";
echo 
"</tr>";
echo 
"<tr bgcolor=\"#FFFFFF\"><td colspan=\"8\" width=\"836\" height=\"8\"></td></tr>";
echo 
"<tr bgcolor=\"#FFFFFF\">";
echo 
"<td colspan=2 width=209>Colores:</td>";
echo 
"<td colspan=2 width=209><input name=\"colores\" type=\"text\" id=\"colores\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["colores"] . "</td>";
echo 
"<td colspan=2 width=209>Colores máximos de marcaje:</td>";
echo 
"<td colspan=2 width=209><input name=\"colores_maximos\" type=\"text\" id=\"colores_maximos\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["colores_maximos"] . "</td>";
echo 
"</tr>";
echo 
"<tr bgcolor=\"#FFFFFF\"><td colspan=\"8\" width=\"836\" height=\"8\"></td></tr>";
echo 
"<tr bgcolor=\"#FFFFFF\">";
echo 
"<td>Imagen:</td>";
echo 
"<td colspan=3 align=\"center\"><input name=\"imagen\" type=\"file\" id=\"imagen\" style=\"background-color:#F5F5F5\" /></td>";
echo 
"<td colspan=2 width=209>Incremento:</td>";
echo 
"<td colspan=2 width=209><input name=\"incremento\" type=\"text\" id=\"incremento\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["incremento"] . "</td>";
echo 
"</tr>";
echo 
"<tr bgcolor=\"#FFFFFF\"><td colspan=\"8\" width=\"836\" height=\"8\"></td></tr>";
echo 
"<tr bgcolor=\"#FFFFFF\">";
echo 
"<td colspan=2 width=209>Precio según las unidades:</td>";
echo 
"<td colspan=2 width=209></td>";
echo 
"<td colspan=2 width=209></td>";
echo 
"<td colspan=2 width=209></td>";
echo 
"</tr>";
echo 
"<tr bgcolor=\"#FFFFFF\"><td colspan=\"8\" width=\"836\" height=\"8\"></td></tr>";
echo 
"<tr bgcolor=\"#FFFFFF\">";
echo 
"<td>25</td>";
echo 
"<td><input name=\"25\" type=\"text\" id=\"25\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["25"] . "</td>";
echo 
"<td>100</td>";
echo 
"<td><input name=\"100\" type=\"text\" id=\"100\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["100"] . "</td>";
echo 
"<td>500</td>";
echo 
"<td><input name=\"500\" type=\"text\" id=\"500\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["500"] . "</td>";
echo 
"<td>5000</td>";
echo 
"<td><input name=\"5000\" type=\"text\" id=\"5000\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["5000"] . "</td>";
echo 
"</tr>";
echo 
"<tr bgcolor=\"#FFFFFF\"><td colspan=\"8\" width=\"836\" height=\"8\"></td></tr>";
echo 
"<tr bgcolor=\"#FFFFFF\">";
echo 
"<td>50</td>";
echo 
"<td><input name=\"50\" type=\"text\" id=\"50\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["50"] . "</td>";
echo 
"<td>250</td>";
echo 
"<td><input name=\"250\" type=\"text\" id=\"250\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["250"] . "</td>";
echo 
"<td>1000</td>";
echo 
"<td><input name=\"1000\" type=\"text\" id=\"1000\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["1000"] . "</td>";
echo 
"<td>10000</td>";
echo 
"<td><input name=\"10000\" type=\"text\" id=\"10000\" size=\"20\" style=\"background-color:#F5F5F5\" />" $elProducto["10000"] . "</td>";
echo 
"</tr>";
echo 
"<tr bgcolor=\"#FFFFFF\"><td colspan=\"8\" width=\"836\" height=\"16\"></td></tr>";
echo 
"<tr bgcolor=\"#FFFFFF\">";
echo 
"<td colspan=7></td>";
echo 
"<td align=\"right\" style=\"padding-right:25px\"><input name=\"aceptar\" type=\"submit\" id=\"aceptar\" value=\"Aceptar\" /></td>";
echo 
"</tr>";
echo 
"</form>"
Muchas gracias a todos por vuestra ayuda!!
  #2 (permalink)  
Antiguo 19/05/2008, 01:58
 
Fecha de Ingreso: diciembre-2003
Mensajes: 222
Antigüedad: 20 años, 11 meses
Puntos: 2
Respuesta: Recuperar un dato

Puedes hacerlo con Javascript y PHP.

Tendríasque poner en el select esto:

Código:
<select name="datos" onchange="this.form.submit()">
</select>
Con esto realmente lo que haces es enviar el formulario, al seleccionar un elemento del select. Y después deberías hacer una comprobación de que no se ha pulsado el boton de envio de formulario, para cargar el form con los datos que quieres, o ejecutar la accion asociada a ese formulario.

Esto podrias hacerlo con :

Código PHP:
if(empty($_POST['name_botn_envio_formulario']) && !empty($_POST)){
      
//acciones en el caso de que se ha enviado el form, pero no se ha pulsado el boton 
  
}else{
    
//acciones cuando el usuario pulsa el envio de formulario
  

Espero que te sirva.
  #3 (permalink)  
Antiguo 19/05/2008, 01:58
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años
Puntos: 48
Respuesta: Recuperar un dato

Si te refieres a que pinchando en la lista y sin que recarge la pagina se muestren los datos en sus cajas, eso es con ajax o javascript.
  #4 (permalink)  
Antiguo 19/05/2008, 02:35
 
Fecha de Ingreso: septiembre-2007
Mensajes: 100
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Recuperar un dato

Muchas gracias por vuestras respuestas.

Paranoid, he probado tu solución pero lo que hace es cargar la página donde se envía el formulario pero eso no es lo que necesito. Lo que necesito es que se muestren en la misma página donde el usuario elige la referencia.

DarkJ, lo que tú me dices si que me vale pero ¿cómo puedo hacerlo con JavaScript? Es que si de JavaScript sé poco de Ajax no sé nada.

Muchas gracias!!
  #5 (permalink)  
Antiguo 19/05/2008, 03:16
 
Fecha de Ingreso: diciembre-2003
Mensajes: 222
Antigüedad: 20 años, 11 meses
Puntos: 2
Respuesta: Recuperar un dato

Es que yo lo que hago es enviar el formulario a la misma pagina del formulario, y allí se ejecutan las acciones. Mas que nada porque si da algún error, de que no están todos los datos completos etc.. estas en la misma pagina, y es mas fácil recuperar los datos enviados.

Asi una vez ejecutadas las acciones, ya rediriges la pagina al siguiente paso.
  #6 (permalink)  
Antiguo 19/05/2008, 03:41
 
Fecha de Ingreso: septiembre-2007
Mensajes: 100
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Recuperar un dato

Ya había probado a hacer que se ejecutasen todas las acciones en la misma página dependiendo de si ha pulsado el botón o no, pero como estoy teniendo tantos problemas con la página y he tenido que cambiar muchas cosas, al final opté por hacer otra página donde se procesaran las acciones.

Mi problema es que el código que he puesto arriba se ejecuta si el usuario pulsa sobre un link que es modificar. Si el usuario pulsa sobre un link que es insertar se hace otra cosa y por eso no sé como hacerlo para que se cargue todo en la misma página.
Espero haberme explicado bien.

De todas formas, he probado tú opción y me da un error interno del servidor y no sé porque.

Pero muchas gracias por tu aportación, .
  #7 (permalink)  
Antiguo 20/05/2008, 04:18
 
Fecha de Ingreso: septiembre-2007
Mensajes: 100
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Recuperar un dato

¿Alguien sabe como hacer para que se me carguen los datos en sus casillas? Es que he estado buscando como hacerlo pero como de javascript no sé casi nada y de ajax no sé absolutamente nada, todo lo que pruebo me da problemas y siempre vuelvo a estar como al principio o incluso más perdida.
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 13:02.