Foros del Web » Programando para Internet » PHP »

Combo box

Estas en el tema de Combo box en el foro de PHP en Foros del Web. Tengo un par de dudas con dos combo box que tengo en un formulario: Primero------- Tengo un combo box en un formulario de inserción de ...
  #1 (permalink)  
Antiguo 03/03/2004, 11:51
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 31
Antigüedad: 21 años
Puntos: 0
Combo box

Tengo un par de dudas con dos combo box que tengo en un formulario:

Primero-------

Tengo un combo box en un formulario de inserción de datos en una base mysql. Me funciona perfectamente.
Tengo otro formulario para modificar registros de la base de datos, y claro al mostrar el resultado del combo box quiero que me deje seleccionar las otras opciones por si se quieren cambiar.

Código PHP:
<select name="codi_barres">
          <
option value="0">Selecciona 
          
<option value="EAN 13">EAN 13 
          
<option value="Code 39">Code 39 
          
<option value="Code 128">Code 128 </select
Quiero que si por ejemplo se selecciona 'EAN 13', al modificar, en el combo me salga seleccionado este, pero me deje cambiar la opción tambien en un combo box.

Segundo--------

Tengo un combo box que me coge los datos de una tabla mysql, me coge el nombre para mostrarlo en el formulario pero realmente quiero que me guarde el id. Como lo hago??

Código PHP:
<select name="dist" id="codi_dist">
          <option value="0" selected>Selecciona el distribuidor</option>
          <?php
       $consulta
=mysql_query("select Codi_dist,Nom_dist from distribuidors");
       while (
$row=mysql_fetch_array($consulta))
{
?>
          <option><? echo $row["Codi_dist"?><? echo $row["Nom_dist"?></option>
          <? ?>
Quiero que en $dist, me guarde Codi_dist, pero que me muestre Nom_dist.

Muchas gracias
  #2 (permalink)  
Antiguo 03/03/2004, 12:17
 
Fecha de Ingreso: diciembre-2003
Mensajes: 54
Antigüedad: 20 años, 11 meses
Puntos: 0
Hola, para seleccionar una opción en un combobox hay que poner en el option "selected" (selected="selected" para que sea xhtml compatible).
Hay varias formas, la más directa seria poner:
Código PHP:
...
<option value="5" <?php if("5"==$codi_baires) echo "selected"?>>Etc</option>
...
Para que te lo mande como valor cuando envias el formulario, tenes que ponerlo en el atributo value del option, como el que tenes antes ^^
Código PHP:
...
<option value="<? echo $row["Codi_dist"?>"><? echo $row["Nom_dist"?></option>
...
Saludos

Última edición por Ktion; 03/03/2004 a las 12:19
  #3 (permalink)  
Antiguo 03/03/2004, 13:11
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 31
Antigüedad: 21 años
Puntos: 0
Vale he conseguido lo de enviar el codigo del distribuidor, ahora me surge el problema que no me muestra nada en el select

Código PHP:
function cabeceraHTML(){
echo <<< HTML
<html>
<head>
<title>Gestió d'articles </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK REL="stylesheet" TYPE="text/css" href="file:///c|/formulari.css">
</head>

<body bgcolor="#FFFFCC">

HTML;
}


cabeceraHTML();

echo <<< HTML

<form method="post" action="$PHP_SELF?accio=insertar">
<table width="399" border="1" cellspacing="0" cellpadding="4" align="center">
    <tr>
      <td colspan="2" height="30" bgcolor="#0099FF">
        <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">.:
          Insertar Article:.</font></b></div>
      </td>
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
        <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Codi : </b></font></div></td>
        <td width="192"><input type="text" name="codiA" class="inputbox" size="4" maxlength="4"></td>
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
         <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Nom : </b></font></div></td>
         <td width="192"><input type="text" name="nom" class="inputbox" size="30" maxlength="30"></font></b></td>
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
        <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Descripció : </b></font></div></td>
        <td width="192"><input type="text" name="desc" class="inputbox" size="30" maxlength="30"></font></b></td>
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
        <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Tipus : </b></font></div></td>
         <td width="192">
         <select name="tipus" id="tipus">
          <option value="0">Selecciona la família de l'article</option>
       $consulta=mysql_query("SELECT Tipus_article FROM familia_article");
       while ($row=mysql_fetch_array($consulta))
              {
                  <option value="$row
[Tipus_article]"></option>
              }
      </select>
      </font>
         </td>
     </td> 
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
        <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Foto : </b></font></div></td>
        <td width="192"><input type="text" name="foto" class="inputbox" size="30" maxlength="30"></font></b></td>
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
        <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Distribuidor : </b></font></div></td>
        <td width="192"> 
        <select name="dist" id="codi_dist">
          <option value="0">Selecciona el distribuidor</option>
            $consulta=mysql_query("select Codi_dist,Nom_dist from distribuidors");
         while ($row=mysql_fetch_array($consulta))
               {
          <option value="$row
[Codi_dist]"></option>
                }      
        </select>
        </font></b></td>
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
        <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Codi barres : </b></font></div></td>
        <td width="192"><input type="text" name="codib" class="inputbox" size="30" maxlength="20"></font></b></td>
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
        <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Cost : </b></font></div></td>
        <td width="192"><input type="text" name="cost" class="inputbox" size="12" maxlength="12"></font></b></td>
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
        <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Tipus IVA : </b></font></div></td>
        <td width="192"><input type="text" name="tipusiva" class="inputbox" size="12" maxlength="12"></font></b></td>
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
        <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">P.V.P : </b></font></div></td>
        <td width="192"><input type="text" name="pvp" class="inputbox" size="12" maxlength="12"></font></b></td>
    </tr>
    <tr>
      <td bgcolor="#00CCCC" width="185">
        <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">P.V.P IVA inclòs : </b></font></div></td>
        <td width="192"><input type="text" name="pvpiva" class="inputbox" size="12" maxlength="12"></font></b></td>
    </tr>
    <tr>
      <td colspan="2" height="40">
        <div align="center">
        <input type="submit" name="Submit" value="  Insertar  " class="botons" >
        </div>
      </td>
    </tr>
  </table>
</form>
HTML;

Ahora no me muestra ningun valor en los combos del tipus article y del distribuidor. Me pasa al hacerlo directamente en php con la funcion html esta. En cambio con toda la pagina en html y poniendo el codigo php en medio me funcionaba. De que puede ser??
  #4 (permalink)  
Antiguo 03/03/2004, 13:20
 
Fecha de Ingreso: diciembre-2003
Mensajes: 54
Antigüedad: 20 años, 11 meses
Puntos: 0
Es exactamente lo que dijiste, cuando lo pones dentro de del <<< el codigo php que normalmente te ejecutaria, lo toma como texto comun. Php no tiene forma de diferenciar si lo que vos querias poner era codigo ejecutable o texto. No veo razon para hacerlo con <<<, asi que te recomendaria que lo saques.

Saludos
  #5 (permalink)  
Antiguo 03/03/2004, 14:08
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 31
Antigüedad: 21 años
Puntos: 0
Al final lo he conseguido, he ido intercalando las funciones HTML entre medio, dejando lo ejecutable en php fuera de ellas.

Muchas gracias!
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:55.