Foros del Web » Programando para Internet » PHP »

Ayuda con llenado de combo

Estas en el tema de Ayuda con llenado de combo en el foro de PHP en Foros del Web. Necesito llenar 2 combos con infiormacion de la base, mi codigo esta asi: if ($_GET['accion']=="nuevo"){ cabeceraHTML(); echo <<< HTML <img src="FONDOS/logo.jpg" width="1016" height="60" /><BR> <form ...
  #1 (permalink)  
Antiguo 17/03/2009, 17:39
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Pregunta Ayuda con llenado de combo

Necesito llenar 2 combos con infiormacion de la base, mi codigo esta asi:

if ($_GET['accion']=="nuevo"){

cabeceraHTML();
echo <<< HTML
<img src="FONDOS/logo.jpg" width="1016" height="60" /><BR>
<form method="post" action="$PHP_SELF?accion=hacernuevo" >

<table width="600" border="1" cellspacing="0" cellpadding="4" align="center">
<tr>
<td colspan="2" height="30" bgcolor="#115A7A">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">.:
Registro de Vendedores :.</font></b><br>
<a href="aut_logout.php">LogOut (salir)</a></div>
</td>
</tr>
<tr bgcolor="#B1D5E5">
<td width="250">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nombre
: </font></div>
</td>
<td width="350"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="snombre" class="imputbox" maxlength="35" size="50" onChange="javascript:this.value=this.value.toUpper Case()">
</font></b></td>
</tr>
<tr bgcolor="#B1D5E5">
<td width="250">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Fecha de Nacimiento dd/mm/aaaa
: </font></div>
</td>
<td width="350"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="sfena" class="imputboxf" maxlength="20" size="15" >
</font></b></td>
</tr>
<tr bgcolor="#B1D5E5">
<td width="250">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Fecha de Ingreso dd/mm/aaaa
: </font></div>
</td>
<td width="350"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="sfein" class="imputboxf" maxlength="30" size="15">
</font></b></td>
</tr>

<tr bgcolor="#B1D5E5">
<td width="185">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Esquema de comision: </font></div>
</td>
<td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">

$result=mysql_query("SELECT nombre FROM $sql_tabla_e");
if ($row = mysql_fetch_array($result)){
echo '<select name="sesquema" class="selet">';
echo '<option VALUE="" selected="selected"></option>';
do {
echo '<option value= "'.$row["nombre"].'">'.$row["nombre"].'</option>';
} while ($row = mysql_fetch_array($result));
echo '</select>';
}

</font></b></td>
</tr>

<tr bgcolor="#B1D5E5">
<td width="250">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Clave de Teckmarketing
: </font></div>
</td>
<td width="350"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="sclave" class="imputbox" maxlength="30" size="15" onChange="javascript:this.value=this.value.toUpper Case()">
</font></b></td>
</tr>

<tr bgcolor="#B1D5E5">
<td width="185">
<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Supervisor: </font></div>
</td>
<td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">

$result2=mysql_query("SELECT nombre FROM $sql_tabla_s");
if ($row = mysql_fetch_array($result2)){
echo '<select name="ssuperv" class="selet">';
echo '<option VALUE="" selected="selected"></option>';
do {
echo '<option value= "'.$row["nombre"].'">'.$row["nombre"].'</option>';
} while ($row = mysql_fetch_array($result2));
echo '</select>';
}

</font></b></td>
</tr>


<tr bgcolor="#B1D5E5">
<td colspan="2" height="40">
<div align="center">
<input type="submit" name="Submit" value=" Registrar " class="botones" ><br>
<a href="menuprin.php">Regresar al menu principal</a>
</div>
</td>
</tr>
</table>
</form>
HTML;
}

pero no hace nada, no se si esta mal la ubicacion del odigo o debo de hacerlo de otra manera.
__________________
:cool: VELMA:si:
  #2 (permalink)  
Antiguo 17/03/2009, 18:05
 
Fecha de Ingreso: febrero-2009
Ubicación: Cusco - Peru
Mensajes: 142
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Ayuda con llenado de combo

io lleno mi combo de la siguiente forma:
Código PHP:

<select name="productos" size="1" id="productos">
<option selected>Seleccione un producto</option>
<?
  $sqlpro
="Select id,nombre_producto from t_producto order by 2";
  
$db = new conexion();
  
$resultado=$db->consulta($sqlpro);
  while(
$row=mysql_fetch_row($resultado))
  {
?>
<option  value="<?=$row[0];?>"><?=$row[1];?></option>
<?
}
?>
</select>
como ves en ves de utilizar un mysql_fetch_array utilizo el mysql_fetch_row, el mysql_fetch_array solo lo utilzo cuando se que el resultado me dara solo una fila de valores.
  #3 (permalink)  
Antiguo 17/03/2009, 18:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con llenado de combo

Eso es porque estas usando la sintaxis HEREDOC, y PHP no se evalua dentro de HEREDOC.

Saludos.
  #4 (permalink)  
Antiguo 18/03/2009, 18:35
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Ayuda con llenado de combo

y hay alguna forma de hacerlo???
__________________
:cool: VELMA:si:
  #5 (permalink)  
Antiguo 18/03/2009, 19:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con llenado de combo

Claro hazlo fuera de la etiqueta heredoc.

Saludos.
  #6 (permalink)  
Antiguo 20/03/2009, 11:35
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Ayuda con llenado de combo

he probado fuera del heredoc, quedo

$result=mysql_query("SELECT nombre FROM $sql_tabla_e");
if ($row = mysql_fetch_array($result)){
echo '<select name="sesquema" class="selet">';
echo '<option VALUE="" selected="selected"></option>';
do {
echo '<option value= "'.$row["nombre"].'">'.$row["nombre"].'</option>';
} while ($row = mysql_fetch_array($result));
echo '</select>';
}

$result2=mysql_query("SELECT nombre FROM $sql_tabla_s");
if ($row = mysql_fetch_array($result2)){
echo '<select name="ssuperv" class="selet">';
echo '<option VALUE="" selected="selected"></option>';
do {
echo '<option value= "'.$row["nombre"].'">'.$row["nombre"].'</option>';
} while ($row = mysql_fetch_array($result2));
echo '</select>';
}

if ($_GET['accion']=="nivel"){
cabeceraHTML();

$id_mod_nivel= $_GET['id_ven'];
....

y funciona bien, pero queda fuera de mi formulario, hay alguna forma de que pueda pasarlo al formulario o de mandarlo a llamar al lugar en donde debe quedar?.
__________________
:cool: VELMA:si:
  #7 (permalink)  
Antiguo 20/03/2009, 11:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con llenado de combo

En lugar de hacerlo con "echo", asignalo a una variable, asi lo puedes mostrar donde quieras.

Saludos.
  #8 (permalink)  
Antiguo 20/03/2009, 15:17
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Ayuda con llenado de combo

tengo

$result=mysql_query("SELECT nombre FROM $sql_tabla_e") or die(mysql_error());
if ($row = mysql_fetch_array($result)){
do {
$a1=$row;
}
while ($row = mysql_fetch_array($result));
}

...

y lo mando a llamar:

<td width="192"> <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<select name="sesquema" class="selet">
<option VALUE="" selected="selected"></option>
<option value=$a1[nombre]>$a1[nombre]</option>
</select></td>
</tr>

pero solo me pone una opcion, no se cual es el error para que mande toda la lista
pueses ayudarme?
__________________
:cool: VELMA:si:
  #9 (permalink)  
Antiguo 21/03/2009, 19:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con llenado de combo

Como te comente, debes de concatenar, para concatenar en PHP, lo que haces es con el operador de punto ".":
Código php:
Ver original
  1. $foo = 'bar';
  2. $foo = $foo . 'bar2';
  3. echo $foo;

Para llenarlo de la forma que pones tienes que asignarlas en un array y luego usar un segundo do/while o un foreach para llenarlo.

Para asignar en un array:
Código php:
Ver original
  1. $results = array();
  2. do {
  3.          $results[] = $row;
  4. } while( $row = mysql_fetch_array( $result ) );

Saludos.
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 00:27.