Foros del Web » Programando para Internet » PHP »

Colocar opcion en listbox

Estas en el tema de Colocar opcion en listbox en el foro de PHP en Foros del Web. Hola buenas, tengo un pequeño problema.... Tengo dos listbox, uno primario y otro secundario... El secundario se carga segun la seleccion del primario... En resumen ...
  #1 (permalink)  
Antiguo 28/12/2009, 05:29
 
Fecha de Ingreso: septiembre-2006
Mensajes: 97
Antigüedad: 17 años, 7 meses
Puntos: 1
Colocar opcion en listbox

Hola buenas, tengo un pequeño problema....
Tengo dos listbox, uno primario y otro secundario...
El secundario se carga segun la seleccion del primario...
En resumen son 2 listbox dependientes, el segundo depende del primero ;)

(Son listbox que se llenan con los registros de una bd)

EL tema es que, me gustaria poder colocarle al segundo listbox el tipico mensaje "Seleccione", antes de poder seleccionar las opciones reales que se necesitan....

No tengo problemas con el primer listbox, ese esta bien, pero el segundo tengo ciertos problemas con esto....
Me explico un poco mas....

Cuando cargo recien la pagina, el primer listbox carga todo bien y me da el mensage "SELECCIONE"....
El segundo listbox dice "CODIGO EQUIPO"...... Esto esta bien.....

Pero si ya selecciono en el primer listbox cualquier opción, el segundo listbox me lanza inmediatamente los valores, y me gustaria que antes de lanzarme como primera opcion un valor de la base de datos, me gustaria que también dijiera "SELECCIONE"......
Lo he intentado hacer pero me llena los registros con: La palabra "seleccione" y luego los registros de la bd intercaladamente.

EJEMPLO:

SELECCIONE
KT-1
SELECCIONE
KT-2
SELECCIONE
FI-12

¿Se entiende lo que estoy tratando de realizar?

En resumen, me gustaria que el segundo listbox siempre tenga la opcion de que diga "SELECCIONE" antes de poder seleccionar un registro de la BD.

Código PHP:

<?php
// datos de conexión a la BD.
$servidor ="localhost"// host
$usuario ="root";
$clave ="";
$basedatos ="inventario"// Indicar una Base de datos.





// Conexión a la BD
    
$conexion mysql_connect($servidor$usuario$clave) or die(mysql_error());
mysql_select_db($basedatos$conexion) or die(mysql_error());


// Obtener el $id_padre del envío a sí mismo del formulario ...

if (isset($_POST['id_equipo']) && ($_POST['id_interno']) )
{
$id_equipo  =$_POST['id_equipo'];
$id_interno=$_POST['id_interno'];
}


// Inicio Formulario .. PHP_SELF enviamos a sí mismo (a este script).
echo "<form action='".$_SERVER['PHP_SELF']."' method='POST'>\n\n";


// Formar Selec "Padre".
echo "Tipo de Equipo :<select name='id_equipo' onChange='this.form.submit()'>\n";
echo 
"<option value=''> ------Seleccione------ </option>\n";

$SQLconsulta_equipo="SELECT * FROM equipos";
$consulta_equipo mysql_query($SQLconsulta_equipo,$conexion) or die(mysql_error());

while (
$registro_equipo=mysql_fetch_assoc($consulta_equipo)){
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
// Se selecciona en consecuencia (selected) la opción elegida.
$selected= ($id_equipo == $registro_equipo['id_equipo']) ? 'selected="selected"' '';
echo 
"<option value='".$registro_equipo['id_equipo']."' $selected>".$registro_equipo['nom_equipo']."</option>\n";
}
echo 
"</select>\n\n";

mysql_free_result($consulta_equipo); // Liberar memoria usada por consulta.

// Formar Select "Hijo"


echo "Código de Equipo : <select name='id_interno' onChange='this.form.submit()' >\n";

// Si $id_padre no tiene valor (caso de que no se ha seleccionado ningua opción del select hijo
// se muestra el mensaje de "seleccine un item" (del select padre).
if (!empty($id_equipo))
{
$SQLconsulta_interno="SELECT * FROM cod_internos WHERE id_equipo='$id_equipo'";
$consulta_interno mysql_query($SQLconsulta_interno,$conexion) or die(mysql_error());
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..
if (mysql_num_rows($consulta_interno) != 0)
{
while (
$registro_interno=mysql_fetch_assoc($consulta_interno))
{
$selected= ($id_interno == $registro_interno['id_interno']) ? 'selected="selected"' '';
echo 
"<option value='".$registro_interno['id_interno']."' $selected>".$registro_interno['num_equipo']."</option>\n";
}
}
else {
echo 
"<option value=''> No hay registros para este equipo</option>";
}
} else
{
echo 
"<option value=''>Código Equipo</option>";
}



mysql_free_result($consulta_interno); // Liberar memoria usada por consulta.

echo "</select>\n\n";
echo 
"</form>\n";


?>
  #2 (permalink)  
Antiguo 28/12/2009, 06:32
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Respuesta: Colocar opcion en listbox

Prueba aañadirlo, es decir pon asi tu codigo:

Código PHP:
echo "Código de Equipo : <select name='id_interno' onChange='this.form.submit()' >\n";
echo 
'<option value="0">Seleccione</option>'
es decir solo añade el
Código PHP:
echo '<option value="0">Seleccione</option>'
Un saludo.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 28/12/2009, 06:38
 
Fecha de Ingreso: septiembre-2006
Mensajes: 97
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Colocar opcion en listbox

No me funcionó asi :(
  #4 (permalink)  
Antiguo 28/12/2009, 12:09
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Respuesta: Colocar opcion en listbox

¿seguro?, pues deberia, a ver si lo colocas mal, te paso el codigo completo, cambiandolo de zona a ver si asi:

Código PHP:
<?php
// datos de conexión a la BD.
$servidor ="localhost"// host
$usuario ="root";
$clave ="";
$basedatos ="inventario"// Indicar una Base de datos.





// Conexión a la BD
    
$conexion mysql_connect($servidor$usuario$clave) or die(mysql_error());
mysql_select_db($basedatos$conexion) or die(mysql_error());


// Obtener el $id_padre del envío a sí mismo del formulario ...

if (isset($_POST['id_equipo']) && ($_POST['id_interno']) )
{
$id_equipo  =$_POST['id_equipo'];
$id_interno=$_POST['id_interno'];
}


// Inicio Formulario .. PHP_SELF enviamos a sí mismo (a este script).
echo "<form action='".$_SERVER['PHP_SELF']."' method='POST'>\n\n";


// Formar Selec "Padre".
echo "Tipo de Equipo :<select name='id_equipo' onChange='this.form.submit()'>\n";
echo 
"<option value=''> ------Seleccione------ </option>\n";

$SQLconsulta_equipo="SELECT * FROM equipos";
$consulta_equipo mysql_query($SQLconsulta_equipo,$conexion) or die(mysql_error());

while (
$registro_equipo=mysql_fetch_assoc($consulta_equipo)){
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
// Se selecciona en consecuencia (selected) la opción elegida.
$selected= ($id_equipo == $registro_equipo['id_equipo']) ? 'selected="selected"' '';
echo 
"<option value='".$registro_equipo['id_equipo']."' $selected>".$registro_equipo['nom_equipo']."</option>\n";
}
echo 
"</select>\n\n";

mysql_free_result($consulta_equipo); // Liberar memoria usada por consulta.

// Formar Select "Hijo"


echo "Código de Equipo : <select name='id_interno' onChange='this.form.submit()' >\n";

// Si $id_padre no tiene valor (caso de que no se ha seleccionado ningua opción del select hijo
// se muestra el mensaje de "seleccine un item" (del select padre).
if (!empty($id_equipo))
{
$SQLconsulta_interno="SELECT * FROM cod_internos WHERE id_equipo='$id_equipo'";
$consulta_interno mysql_query($SQLconsulta_interno,$conexion) or die(mysql_error());
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..
if (mysql_num_rows($consulta_interno) != 0)
{
echo 
"<option value=''> ------Seleccione------ </option>\n";
while (
$registro_interno=mysql_fetch_assoc($consulta_interno))
{
$selected= ($id_interno == $registro_interno['id_interno']) ? 'selected="selected"' '';
echo 
"<option value='".$registro_interno['id_interno']."' $selected>".$registro_interno['num_equipo']."</option>\n";
}
}
else {
echo 
"<option value=''> No hay registros para este equipo</option>";
}
} else
{
echo 
"<option value=''>Código Equipo</option>";
}



mysql_free_result($consulta_interno); // Liberar memoria usada por consulta.

echo "</select>\n\n";
echo 
"</form>\n";


?>
Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
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:00.