Foros del Web » Programando para Internet » PHP »

Cajas de texto

Estas en el tema de Cajas de texto en el foro de PHP en Foros del Web. Buenos días. Mi problema es el siguiente: Quiero poner una caja de texto en la cual, al darle a una flecha me diga que opciones ...
  #1 (permalink)  
Antiguo 28/11/2012, 04:47
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años
Puntos: 0
Cajas de texto

Buenos días.
Mi problema es el siguiente:
Quiero poner una caja de texto en la cual, al darle a una flecha me diga que opciones puedo coger de los productos de una base de datos, como por ejemplo los nombres de los juegos. ¿Alguien podría decirme como es?

Gracias de antemanos

Última edición por ignatar20; 28/11/2012 a las 04:53
  #2 (permalink)  
Antiguo 28/11/2012, 05:30
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Cajas de texto

Te dejo como lo hago yo:
Código PHP:
Ver original
  1. <label>Provincia
  2.             <select name="provincia">
  3.             <option selected></option>
  4.             <?php
  5.             $resultado = $classic->consulta("SELECT DISTINCT provincia FROM clientes WHERE provincia != '' ORDER BY provincia");
  6.             foreach ($resultado AS $provincia) {
  7.                 echo "<option>{$provincia['provincia']}</option>";
  8.             }          
  9.             ?>
  10.             </select>      
  11.         </label>

Mi clase $classic me devuelve los resultados de la base de datos en forma de array por eso ya luego pongo el nombre y el elemento y listos. Pero bueno creo que con eso te podrá servir de idea. Tienes que usar un SELECT que es el tipo de control de formulario que necesitas.
  #3 (permalink)  
Antiguo 03/12/2012, 03:51
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años
Puntos: 0
Respuesta: Cajas de texto

Mira este es el codigo que tengo, no se si es asi como me estas diciendo xD:
Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <title>Factura PHP</title>
  4.     </head>
  5.     <body>
  6.         <form action=venta.php>
  7.             <select name=producto1>
  8.                 <option selected></option>
  9.                 <?php
  10.                     function llenar()
  11.                     {
  12.                         if($con = mysql_connect("localhost","root",""))
  13.                         {
  14.                             if($sel = mysql_select_db("facturizacion",$con))
  15.                             {
  16.                                 if($sen = mysql_query("SELECT NOMBRE FROM productos"))
  17.                                 {
  18.                                     while($reg = mysql_fetch_array($sen))
  19.                                     {
  20.                                         for($x=0;$x<mysql_num_fields;$x++)
  21.                                         {
  22.                                             echo"<option>".$reg".</option";
  23.                                         }
  24.                                     }
  25.                                 }
  26.                             }
  27.                         }
  28.                     }
  29.                     llenar();
  30.                 ?>
  31.             </form>
  32.     </body>
  33. </html>

Ando muy mal en PHP, cualquier ayuda es bien recibida.

Saludos
  #4 (permalink)  
Antiguo 03/12/2012, 04:15
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Cajas de texto

Te falta el SELECT (no el de la consulta sino el del control de formulario).

Mira, esto es un SELECT con varias opciones:

Código HTML:
Ver original
  1. <select name="multiples_opciones">
  2. <option>Opción 1</option>
  3. <option>Opción 2</option>
  4. <option>Opción 3</option>
  5. <option>Opción 4</option>

Te falta el abrir y cerrar <select>. Ah no, te falta sólo cerrarlo. Ya lo has abierto.

Un par de fallos:
Aquí te faltan las comillas <select name=producto1> por <select name="producto1">
Y aquí está mal concatenado echo"<option>".$reg".</option"; por echo"<option>".$reg."</option>"; (faltaba el > y el punto estaba fuera de lugar)
  #5 (permalink)  
Antiguo 03/12/2012, 05:49
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años
Puntos: 0
Respuesta: Cajas de texto

Sigue sin funcionarme, pongo el código de nuevo porque no se donde está el fallo :(
Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <title>Factura PHP</title>
  4.     </head>
  5.     <body>
  6.             <select name="producto1">
  7.                 <option selected>Paco</option>
  8.                 <?php
  9.                     function llenar()
  10.                     {
  11.                         if($con = mysql_connect("localhost","root",""))
  12.                         {
  13.                             if($sel = mysql_select_db("facturizacion",$con))
  14.                             {
  15.                                 if($sen = mysql_query("select nombre from productos"))
  16.                                 {
  17.                                     while($reg = mysql_fetch_array($sen))
  18.                                     {
  19.                                         for($x=0;$x<mysql_num_fields($sen);$x++)
  20.                                         {
  21.                                             echo"<option>".$reg."</option>";
  22.                                         }
  23.                                     }
  24.                                 }
  25.                             }
  26.                         }
  27.                     }
  28.                     llenar();
  29.                 ?>
  30.             </select>
  31.     </body>
  32. </html>

He puesto una opcion por defecto para ver si sale algo, pero solo sale eso, es como si no conectara con la base de datos, pero está bien escrito el nombre de la base de datos y la tabla que busco, al igual que el nombre del campo.
  #6 (permalink)  
Antiguo 06/12/2012, 02:58
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años
Puntos: 0
Respuesta: Cajas de texto

Alguien podría ayudarme? Llevo un bastante tiempo probando para que funcione, pero no va xD
  #7 (permalink)  
Antiguo 07/12/2012, 08:49
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años
Puntos: 0
Respuesta: Cajas de texto

Ya lo he solucionado.
Ahora estoy con otro código, pero tengo un problema y es que cuando le digo que me coja el precio que hay en la tabla, no me lo coge y pone "resource".

Este es el código que tengo:
Código PHP:
Ver original
  1. <?php
  2.     function vender ()
  3.     {
  4.         $nom = $_GET["prd1"];
  5.         $nom1 = $_GET["prd2"];
  6.         $nom2 = $_GET["prd3"];
  7.         $nom3 = $_GET["prd4"];
  8.         $can = $_GET["can1"];
  9.         $can1 = $_GET["can2"];
  10.         $can2 = $_GET["can3"];
  11.         $can3 = $_GET["can4"];
  12.         if($con = mysql_connect("localhost","root",""))
  13.         {
  14.             if($sel = mysql_select_db("facturizacion",$con))
  15.             {
  16.                 echo("<input type=text value=NOMBRE><input type=text value=CANTIDAD><input type=text value=PRECIO><input type=text value=PRECIO_TOTAL><br>");
  17.                 if($nom !="")
  18.                 {
  19.                     $pre = mysql_query("select cantidad from productos where nombre='".$nom."'");
  20.                     $tot = $can * $pre;
  21.                     echo("<input type=text value=".$nom."><input type=text value=".$can."><input type=text value=".$pre."><input type=text value=".$tot."><br>");
  22.                 }
  23.                 if($nom1 !="")
  24.                 {
  25.                     $pre1 = mysql_query("select precio from productos where nombre='".$nom1."'");
  26.                     $tot1 = $can1 * $pre1;
  27.                     echo("<input type=text value=".$nom1."><input type=text value=".$can1."><input type=text value=".$pre1."><input type=text value=".$tot1."><br>");
  28.                 }
  29.                 if($nom2 !="")
  30.                 {
  31.                     $pre2 = mysql_query("select precio from productos where nombre='".$nom2."'");
  32.                     $tot2 = $can2 * $pre2;
  33.                     echo("<input type=text value=".$nom2."><input type=text value=".$can2."><input type=text value=".$pre2."><input type=text value=".$tot2."><br>");
  34.                 }
  35.                 if($nom3 !="")
  36.                 {
  37.                     $pre3 = mysql_query("select precio from productos where nombre='".$nom3."'");
  38.                     $tot3 = $can3* $pre3;
  39.                     echo("<input type=text value=".$nom3."><input type=text value=".$can3."><input type=text value=".$pre3."><input type=text value=".$tot3."><br>");
  40.                 }
  41.             }
  42.         }
  43.     }
  44.     vender();
  45. ?>
  #8 (permalink)  
Antiguo 07/12/2012, 11:23
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 12
Respuesta: Cajas de texto

Buenas lo que pasa es que creo que estas haciendo mal la siguiente consulta.

Código PHP:
Ver original
  1. if($nom !="")
  2.                 {
  3.                     $pre = mysql_query("select cantidad from productos where nombre='".$nom."'");
  4.                     $tot = $can * $pre;
Es Precio o Cantidad lo que necesitas...fijate porque creo que por eso te tira eso cuando solicitas precio.

Saludos

Última edición por pablo_exeg; 07/12/2012 a las 11:31
  #9 (permalink)  
Antiguo 07/12/2012, 11:34
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años
Puntos: 0
Respuesta: Cajas de texto

Lo he cambiado, pero nada sigue igual,
Código PHP:
Ver original
  1. if($nom !="")
  2.                 {
  3.                     $pre = mysql_query("select PRECIO from productos where nombre='".$nom."'");
  4.                     $tot = ($can * $pre);
  5.                     echo("<input type=text value=".$nom."><input type=text value=".$can."><input type=text value=".$pre."><input type=text value=".$tot."><br>");
  6.                     $total = $total + $tot;
  7.                     $art++;
  8.                     mysql_query("UPDATE productos SET cantidad = cantidad - ".$can." where nombre = ".$nom."");
  9.                 }
  #10 (permalink)  
Antiguo 07/12/2012, 11:46
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: Cajas de texto

Prueba asi

Código PHP:
Ver original
  1. $pre = mysql_query("select PRECIO from productos where nombre='".$nom."'");
  2.    $pre = mysql_fecht_array($pre);
  3.    $pre = $pre['PRECIO'];
  4.                     $tot = ($can * $pre);
  5.                     echo("<input type=text value=".$nom."><input type=text value=".$can."><input type=text value=".$pre."><input type=text value=".$tot."><br>");
  6.                     $total = $total + $tot;
  7.                     $art++;
  8.                     mysql_query("UPDATE productos SET cantidad = cantidad - ".$can." where nombre =
  #11 (permalink)  
Antiguo 07/12/2012, 15:48
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años
Puntos: 0
Respuesta: Cajas de texto

Muchas gracias, por fin me va :D
Otra duda que tengo, es que no se poner la cantidad del producto que tengo, es decir, en el index de mi pagina, me salen los select con los distintos productos que tengo, pero no se como poner un select para la cantidad, nose como se hace xD
Si pudieseis ayudarme con eso, seria perfecto xDD
  #12 (permalink)  
Antiguo 07/12/2012, 16:16
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: Cajas de texto

No te entendi amigo pero con esto puedes contar los resultados de la consulta

Código PHP:
Ver original
  1. mysql_query("select COUNT(PRECIO) as cantidad from productos where nombre='".$nom."'");
Saludos
__________________
Mi proyecto web Desarrollo-Tech visitame http://www.desarrollo-tech.com
  #13 (permalink)  
Antiguo 08/12/2012, 03:41
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años
Puntos: 0
Respuesta: Cajas de texto

Me explico mejor.
En el index de mi página, tengo 2 columnas una con el nombre y otra con la cantidad.
En la columna nombre tengo el select para elegir el producto que hay en la base de datos, pero nose como poner que dependiendo del producto que coges, habrá una cantidad u otra.
Este es el código (una parte) que os acabo de describir:

Código PHP:
Ver original
  1. <select name="prd1" style="width:156px">
  2.                 <option selected></option>
  3.                 <?php
  4.                     function llenar()
  5.                     {
  6.                         if($con = mysql_connect("localhost","root",""))
  7.                         {
  8.                             if($sel = mysql_select_db("facturizacion",$con))
  9.                             {
  10.                                 if($sen = mysql_query("select nombre from productos"))
  11.                                 {
  12.                                     while($reg = mysql_fetch_array($sen))
  13.                                     {
  14.                                         for($x=0;$x<mysql_num_fields($sen);$x++)
  15.                                         {
  16.                                             echo("<option>".$reg[$x]."</option>");
  17.                                         }
  18.                                     }
  19.                                 }
  20.                             }
  21.                         }
  22.                     }
  23.                     llenar();
  24.                 ?>
  25.             </select><input type="text" name="can1"><br>

Yo lo que quiero, es que al seleccionar el producto, automáticamente me salga la cantidad máxima que puedo comprar en el input de al lado.

Saludos y gracias de nuevo

Etiquetas: cajas
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 01:22.