Foros del Web » Programando para Internet » PHP »

listbox con texto dinamico

Estas en el tema de listbox con texto dinamico en el foro de PHP en Foros del Web. tengo un listbox en el cual el cliente selecciona una categoria como lo puedo hacer para que justo al lado me ponga el precio, la ...
  #1 (permalink)  
Antiguo 11/08/2004, 09:05
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
listbox con texto dinamico

tengo un listbox en el cual el cliente selecciona una categoria como lo puedo hacer para que justo al lado me ponga el precio, la estructura de la tabla de la BD es la siguiente:
_______________________________________
--preu---descripció--ID--categories--cat_preu
_______________________________________
--10€--Descipción---0----infantil-----10€


y quiero que me muestre un listbox i cuando selecciones la categoria, justo al lado del listbox te salga el precio.
  #2 (permalink)  
Antiguo 11/08/2004, 09:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. podrías definir bien en que momento y "donde" ha de aparecer ese valor relacionado con la opción seleccionada de tu <select>?

En principio .. si tu tienes un <Select> HTML ya formado del tipo

<select name="productos">
<option value="1">descripción producto ID 1</option>
<option value="2">descripción producto ID 2</option>
</select>

Si .. "al seleccionar" la opcion 1 por ejemplo .. se ha de mostra en un campo tipo input (text) de tu formulario ese precio (o de otra forma) .. La solución ahí es vía javacript. Eso sí .. como tus datos los obtienes dinámicamente de tu BD .. tendrás que "cargar" esos arrays javascript que tendrás que usar generando ese trozo de Javscript de forma dinámica a partir de los datos (y bucle) que empleas para obtener dicho resultado de tu consulta.

En resumen .. Intenta solventar el problema (preguntando en el foro de Javacript) -antes- con Datos estáticos (ese ejemplo de dos elementos sobra para tu <select>) y con ese código HTML/javascirpt en la mano funcionando .. le aplicamos "PHP" para que se genere la parte que corresponda dinámicamente.

--------
Otra cosa es que como "nombre para la opción" se presenten varios datos que obtienes de tu consulta SQL .. Es decir si quieres ver esto:

<option value="[ID]">[Descripcion][espacio][precio]</option>

ahí se trata simplemente de que hagas algo tipo

Código PHP:
//conectas a tu BD .. etc ...
$sql="SELECT * FROM tabla";
$resultado=mysql_query($sql) or die(mysql_error());
while (
$row=mysql_fetch_array($resultado)){
   echo 
"<option value=\"".$row['ID']."\">".$row['descripcion']." ".$row['precio']."</option>\n";

Es decir .. como veras .. sólo se concatena los campos de tu BD (su valor) que vas obteniendo para formar cada "línea" de <option> HTML

Un saludo,

Última edición por Cluster; 11/08/2004 a las 09:36
  #3 (permalink)  
Antiguo 13/09/2004, 07:23
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
He puesto ese código pero solo me lo hace en el primer listbox, me explico:
Tengo un formulario con un par de listbox y a la izquierda una casilla donde escriben el numero de entradas que quieren de cada tipo. Y por eso uso varios listbox con el mismo contenido, pero apesar de poner el mismo còdigo, solo me muestra el primero, eso porque puede ser?
el còdigo es el siguiente:
Código PHP:
mysql_select_db($database_teatredelmar$teatredelmar);
$sql="SELECT * FROM preus WHERE categories like '$tipus'"
$preus=mysql_query($sql) or die(mysql_error()); 
y la tabla con los datos, el siguiente:
Código HTML:
<table width="487" border="1" cellpadding="0" cellspacing="1">
          <tr bgcolor="#318495">
            <td width="127"><div align="center" class="Estilo2">No. de butaques que vol comprar </div></td>
            <td width="115"><div align="center" class="Estilo2">Preus</div></td>
            <td width="115"><div align="center" class="Estilo2">
            Nom i llinatges:</div></td>
            <td width="115"><div align="center"><span class="Estilo2">DNI:</span></div></td>
      </tr>
          <tr bgcolor="#B0B0B0">
            <td><div align="center">
                <input name="numero" type="text" id="numero" value="1" size="2" maxlength="2">
            </div></td>
            <td><div align="center">
				<select name="desc_preu" id="desc_preu">
			   <? while ($row=mysql_fetch_array($preus)){ 
   echo "<option value=\"".$row['ID']."\">".$row['tipus']." ".$row['preu']."&euro;</option>\n"; 
}
				?>
               </select>
            </div></td>
            <td><input name="requiredNom" type="text" id="Nom" size="30"></td>
            <td><input name="requiredDNI" type="text" id="DNI" size="15"></td>
          </tr>
		  <? if ($row_actuacio['tipus'] == Normal) { ?>
          <tr bgcolor="#B0B0B0">
            <td><div align="center">
                <input name="numero_2" type="text" id="numero_2" value="0" size="2" maxlength="2">
            </div></td>
            <td><div align="center">
              <select name="desc_preu_2" id="desc_preu_2">
                   <? while ($row=mysql_fetch_array($preus)){ 
   echo "<option value=\"".$row['ID']."\">".$row['tipus']." ".$row['preu']."&euro;</option>\n"; 
}
				?>
              </select>
            </div></td>
            <td colspan="2" rowspan="3">&nbsp;</td>
          </tr>
          <tr bgcolor="#B0B0B0">
            <td><div align="center">
                <input name="numero_3" type="text" id="numero_3" value="0" size="2" maxlength="2">
            </div></td>
            <td><div align="center">
              <select name="desc_preu_3" id="desc_preu_3">
                  <? while ($row=mysql_fetch_array($preus)){ 
   echo "<option value=\"".$row['ID']."\">".$row['tipus']." ".$row['preu']."&euro;</option>\n"; 
}
				?>
              </select>
            </div></td>
          </tr>
          <tr bgcolor="#B0B0B0">
            <td><div align="center">
                <input name="numero_4" type="text" id="numero_4" value="0" size="2" maxlength="2">
            </div></td>
            <td><div align="center">
              <select name="desc_preu_4" id="desc_preu_4">
                  <? while ($row=mysql_fetch_array($preus)){ 
   echo "<option value=\"".$row['ID']."\">".$row['tipus']." ".$row['preu']."&euro;</option>\n"; 
}
				?>
              </select>
            </div></td>
          </tr><? } ?>
          <tr>
            <td colspan="4"><div align="center">
              <input type="submit" name="Submit" value="Enviar">
            </div></td>
          </tr>
        </table> 
  #4 (permalink)  
Antiguo 13/09/2004, 09:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
TCL_ZIP

Si no pones el código que usas para leer esas variabels que generas en tu formulario . .se hace dificil ver tu problema concreto. Además, inicia un nuevo tema (o insisite en otros que tengas abiertos sobre ese problema), no mezcles temas y problemas concretos tuyos (usa tus própios mensajes).

Un saludo,
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 07:12.