Foros del Web » Programando para Internet » PHP »

Listas dependientes

Estas en el tema de Listas dependientes en el foro de PHP en Foros del Web. Buenas, estoy intentando hacer andar una lista dependiente dentro de un formulario que utilizo para grabar informacion en una tabla. Encontre el siguiente ejemplo LISTAS ...
  #1 (permalink)  
Antiguo 29/09/2006, 14:37
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Listas dependientes

Buenas, estoy intentando hacer andar una lista dependiente dentro de un formulario que utilizo para grabar informacion en una tabla.
Encontre el siguiente ejemplo LISTAS DEPENDIENTES pero me ocurre que al selecionar algo de la primera lista automaticamente me procesa el formulario insertandome la informacion en la tabla.
Intente sacar lo siguiente
Código PHP:
<? echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n"?>
pero lo que logro es que me muestre la informacion del primer desplegable y no se vincule con el otro desplegable.
Hay forma de reformar esto... o algun otro desplegable.
Muchas gracias
  #2 (permalink)  
Antiguo 29/09/2006, 15:16
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Debes procesar el formulario sólo si hay un submit, para ello compruebas que se haya presionado el boton, asi:

Código PHP:
<?php
   
if(isset($_POST['nombre_submit']))
   {
         
//aqui procesar formulario
   
}
?>
  #3 (permalink)  
Antiguo 29/09/2006, 15:55
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta cambio

Gracias, por la ayuda, igualmente decidi cambiar de codigo, alguno sabe donde puedo encontrar algo referido a listas dependientes que tomen informacion de una tabla.
Gracias
  #4 (permalink)  
Antiguo 29/09/2006, 16:17
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 10 meses
Puntos: 125
Dependiendo de la primera "lista" para que la segunda realize una SQL a la Tabla y cargue el contenido en la Segunda lista!

No haciendo Submit, yo usaría ajax, o un array en js! pero sería más enrredoso!
  #5 (permalink)  
Antiguo 29/09/2006, 17:35
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta arme lo siguiente....

Bueno, estoy intentando hacerlo desde cero pero no se como vincular las 2 listas, alguna idea. Ahi les paso el codigo que utilizo:

Código PHP:
<?php 
$host
="localhost";
$username="x";
$password="x";
$db_name="x";

mysql_connect("$host""$username""$password")or die("No se pudo conectar con el server");
mysql_select_db("$db_name")or die("No se pudo conectar con la tabla");

$consulta="select * from auto_marcas ORDER BY id ASC";
$resultado=mysql_query($consulta);
echo 
"<select name='marcas'>";

$id_marcas $_GET['id_marcas']; //Nose, puse eso para probar.

while ($row=mysql_fetch_array($resultado))
{
    echo 
"<option value='".$row['marcas']."'>".$row['marcas']."</option>";
}
echo 
"</select>";

$consulta="select * from auto_modelos WHERE modelos.id_modelos='$id_marcas' ORDER BY id ASC";
$resultado=mysql_query($consulta);
echo 
"<select name='modelos'>";
while (
$row=mysql_fetch_array($resultado))
{
    echo 
"<option value='".$row['modelos']."'>".$row['modelos']."</option>";
}
echo 
"</select>";

mysql_close();
?>
Muchas Gracias
  #6 (permalink)  
Antiguo 29/09/2006, 17:50
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 10 meses
Puntos: 125
Averigua implementar una simple utilización de AJAX.
  #7 (permalink)  
Antiguo 29/09/2006, 18:17
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo joya!

Gracias skatomundo, me podrias dar una mano con eso de AJAX, estoy mirando en la siguiente web, pero no funciona correctamente, alguna idea.

Muchas gracias.
  #8 (permalink)  
Antiguo 29/09/2006, 18:33
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 10 meses
Puntos: 125
no hay problema, de principio crea:
esto independiente de la otra, es decir en otra página.
Aseguremos que: "$id_marcas" sea pasado como valor URL
Código PHP:
$consulta="select * from auto_modelos WHERE modelos.id_modelos='$id_marcas' ORDER BY id ASC";
$resultado=mysql_query($consulta);
echo 
"<select name='modelos'>";
while (
$row=mysql_fetch_array($resultado))
{
    echo 
"<option value='".$row['modelos']."'>".$row['modelos']."</option>";
}
echo 
"</select>"
  #9 (permalink)  
Antiguo 29/09/2006, 18:43
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo joya

genero un modelos.php que contenga el selector de modelos, pero como le paso la variable, osea como lo interconecto sin un link.
gracias, me estas dando una buena mano.
  #10 (permalink)  
Antiguo 29/09/2006, 22:22
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
solucionado.

Bueno, listo el tema de las listas dependientes, estoy terminando de arreglar el codigo y posteo la solucion con AJAX.
Muchas gracias skatomundo por tu guia en la oscuridad.
  #11 (permalink)  
Antiguo 30/09/2006, 08:12
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta resultado.

Bueno encontre este codigo y lo adpate a mis necesidades, utiliza el AJAX, como me recomendo skatomundo.
Pero necesito nuevamente una ayuda, ya que en vez de elegir la marca y el modelo del automovil, me graba en la tabla el numero por el cual relaciono los datos.

Tengo 2 tablas con los siguientes campos:
Tabla: auto_marcas
Campos: id_marcas , marcas
Tabla: auto_modelos
Campos: id_modelos, modelo

Ej:
id_marcas = 04
marcas = Chevrolet

id_modelos = 04
modelo = Meriva

id_modelos = 04
modelo = Astra


Muchas gracias

El codigo es un poco largo, pero vale la pena.

Primer archivo:
select_dependientes.php
Código PHP:
<!-- 
Este código fuente es de libre utilización y modificación bajo la siguiente licencia:
http://creativecommons.org/licenses/by-nc-sa/2.5/
Puedes distribuir estos scripts o colocarlos en tu Sitio siempre y cuando no elimines estos
comentarios y la licencia expuesta sea respetada.

Mas ejemplos y material sobre AJAX en: http://www.formatoweb.com.ar/ajax
Cualquier sugerencia, crítica o comentario son bienvenidos.
Contacto: [email protected]
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<?php
function generaPaises()
{
    
$coneccion=mysql_connect("localhost""city45_user""x") or die(mysql_error());
    
mysql_select_db("city45_avisos"$coneccion) or die(mysql_error());
    
$consulta=mysql_query("SELECT marcas FROM auto_marcas ORDER BY id_marcas ASC");
    
mysql_close($coneccion);

    
// Voy imprimiendo el primer select compuesto por los paises
    
echo "<select class='combo' id='select_0' name='marcas' onChange='cargaContenido()'>";
    while(
$registro=mysql_fetch_row($consulta))
    {
        echo 
"<option value='".$registro[0]."'>".$registro[1]."</option>";
    }
    echo 
"</select>";
}
?>
<html>
<head>
<style type="text/css"> 
.punteado 

    border-style:dotted; 
    border-color:#000000; 
    background-color:#EAEAEA;
    font-family:Verdana; 
    font-size:10px; 
    text-align:center;
}

.combo
{
    font-family:Verdana; 
    font-size:10px; 
    border-color:#CCCCCC;
}
</style>

<script language="javascript" type="text/javascript">
function nuevoAjax()

    /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
    lo que se puede copiar tal como esta aqui */
    var xmlhttp=false; 
    try 
    { 
        // Creacion del objeto AJAX para navegadores no IE
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    }
    catch(e)
    { 
        try
        { 
            // Creacion del objet AJAX para IE 
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
        catch(E) { xmlhttp=false; }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 

    return xmlhttp; 
}

function cargaContenido()
{
    var valor=document.getElementById("select_0").options[document.getElementById("select_0").selectedIndex].value;
    if(valor==0)
    {
        // Si el usuario eligio la opcion "Elige", no voy al servidor y pongo todo por defecto
        combo=document.getElementById("select_1");
        combo.length=0;
        var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Elegir una marca";
        combo.appendChild(nuevaOpcion);    combo.disabled=true;
    }
    else
    {
        ajax=nuevoAjax();
        ajax.open("GET", "select_dependientes_proceso.php?seleccionado="+valor, true);
        ajax.onreadystatechange=function() 
        { 
            if (ajax.readyState==1)
            {
                // Mientras carga elimino la opcion "Elige pais" y pongo una que dice "Cargando"
                combo=document.getElementById("select_1");
                combo.length=0;
                var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
                combo.appendChild(nuevaOpcion); combo.disabled=true;    
            }
            if (ajax.readyState==4)
            { 
                document.getElementById("fila_2").innerHTML=ajax.responseText;
            } 
        }
        ajax.send(null);
    }
}
</script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejemplo</title>
</head>
<body>
<center>
<table border="1" width="400" style="border-style:none;">
  <tr>
    <td id="fila_1" width="50%" class="punteado"><?php generaPaises(); ?></td>
    <td id="fila_2" width="50%" class="punteado">
        <select class="combo" disabled="disabled" id="select_1" name="modelos">
        <option id="valor_defecto" value="0">Elegir un modelo</option>
        </select>
    </td>
  </tr>
</table>
</center>
</body>
</html>
select_dependientes_proceso.php
Código PHP:
<?php
function validaValor($parametro)
{
    
/* Funcion utilizada para validar el numero de pais recibido por GET. En nuestra base
    de datos tenemos como validos los paises desde 1 a 21 */
    
if(eregi("^[0-9]{1,2}$"$parametro)) 
    {
        if(
$parametro>=&& $parametro<=42) return TRUE;
        else return 
FALSE;
    }
    else return 
FALSE;
}

$valor=$_GET["seleccionado"];

if(
validaValor($valor))
{
    
// Si el numero corresponde a un codigo de pais valido paso a procesar
    
$coneccion=mysql_connect("localhost""city45_user""x") or die(mysql_error());
    
mysql_select_db("city45_avisos"$coneccion) or die(mysql_error());
    
// Genero la consulta trayendo todos los estados que correspondan al codigo de pais elegido
    
$consulta=mysql_query("SELECT * FROM auto_modelos WHERE id_modelos='$valor'");
    
mysql_close($coneccion);

    
// Comienzo a imprimir el select
    
echo "<select class='combo' id='select_1' name='modelos'>";
    while(
$registro=mysql_fetch_row($consulta))
    {
        
// Paso a HTML acentors y ñ para su correcta visualizacion
        
$registro[1]=htmlentities($registro[1]);
        
// Imprimo las opciones del select
        
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
    }            
    echo 
"</select>";
}
?>

Última edición por Spychaser; 30/09/2006 a las 08:22
  #12 (permalink)  
Antiguo 30/09/2006, 10:58
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 10 meses
Puntos: 125
Entiendo si tienes: 2 tablas:

Lógico sería tener!

TABLA "MARCA" (de estas dependen "n" modelos - 1 a muchos)
ID_MARCA
NOMBRE_MARCA
=================
TABLA "MODELO" (en Relacion a través de ID_MARCA con tabla MARCA)
ID_MODELO
ID_MARCA >> Relacion
NOMBRE_MODELO


Así tendrás relacionados todos tus modelos a una única marca.
  #13 (permalink)  
Antiguo 30/09/2006, 11:09
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta joya!

ahora voy a cambiar el tema de la relacion, pero lo que me ocurre es que me graba el numero con el que relaciono y no el modelo o la marca.
Gracias
  #14 (permalink)  
Antiguo 30/09/2006, 11:20
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 10 meses
Puntos: 125
Es en una tercera tabla??
  #15 (permalink)  
Antiguo 30/09/2006, 11:30
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo 3º tabla

skatomundo, esos valores me los inserta en un tercera ya que luego de setear el modelo, la marca y otras cuestiones grabo todo en otra tabla que luego visualiza el usuario.
  #16 (permalink)  
Antiguo 01/10/2006, 07:04
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta select

Tengo una duda, como puedo hacer para cambiar, en el script que "postie", el value= de los select. Para asi hacer que en una nueva tabla (tercer tabla procesa datos del formulario) no me escriba el numero por medio del cual relaciono los datos sino el nombre, en este caso modelo y marca.

> Detalles:
Referencias:
* Tengo 2 tablas con los siguientes campos:
Tabla: auto_marcas
Campos: id_marcas , marcas
Tabla: auto_modelos
Campos: id_modelos, modelo

Ej:
id_marcas = 04
marcas = Chevrolet

id_modelos = 04
modelo = Meriva

id_modelos = 04
modelo = Astra

* $registro[0] = valor
* $registro[1] = descripcion MARCA/MODELO, dependiendo del select donde nos encontremos.


En mi primer select de la pagina select_dependientes.php no puedo cambiar el value debido a que no me relacionaria los datos, ya que los relaciono mediante un id.
En mi segundo select de la pagina select_dependientes_proceso.php probe de cambiar el value
Código PHP:
<? echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
por
Código PHP:
<? echo "<option value='".$registro[1]."'>".$registro[1]."</option>";
y ahi si graba el modelo pero con algunos pocos modelos sale el siguiente error:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/city45/public_html/select_dependientes_proceso.php on line 32


Muchas gracias

Última edición por Spychaser; 01/10/2006 a las 07:45
  #17 (permalink)  
Antiguo 01/10/2006, 19:29
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta sigo

Buenas, el mensaje de error logrue sacarlo, pero el tema de los value de cada select me siguen dando el mismo resultado.
Alguna idea.
Gracias
  #18 (permalink)  
Antiguo 01/10/2006, 20:24
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
mira este combo Spychaser , aki lo que hago es seleccionar el id_mon y el modelo_mon de mi tabla monitor y que me cargue el select con ella, pero yo = guardo los ids como un int. lo que hace esta combo, es mostrarte en pantalla el nombre del atributo en cuestion, pero lo que guarda en la BD es el id. Adaptalo para lo que necesitas tu: (prueba escoger los atributos que vas a usar en el SELECT, no poner * )

combo_monitor.php
Código PHP:
<?
include "conexion.php";

$query="SELECT id_mon, modelo_mon FROM monitor ORDER BY id_mon";
$result=mysql_query($query);

echo 
'<select name="monitor">';

//Genero el menu desplegable
while ($row=mysql_fetch_array($result))
{echo 
'<option value="'.$row['id_mon'].'">'.$row["modelo_mon]"];}
echo
'</select>';
?>
lo puedes dejar en un archivo aprte y lo cargas cada vez que necesites con un include "combo_monitor.php";

Puedes poner los archivos finales para crear las listas independientes porfavor? yo tambien necesito hacer unas y hasta el momento no he podido
SALU2 y suerte

Última edición por gazuzax; 01/10/2006 a las 20:39
  #19 (permalink)  
Antiguo 01/10/2006, 20:41
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo gazuzax

gazuzax, muchas gracias por responder. Comprendo el codigo que me pasas pero el problema que tengo esta limitado debido a que las listas funcionan con un script en AJAX que relaciona 2 select de la siguiente manera:
Código HTML:
ajax.open("GET", "select_dependientes_proceso.php?seleccionado="+valor, true);
y luego utiliza en cada select:
Código PHP:
<? echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
El codigo que utilizo esta aqui, un poco mas arriba, si te puedo ayudar avisame.
Yo sigo trabado sin saber como adaptar el tema del value para que me salga en el primer select "marcas" y en el segundo "modelos"
Muchas gracias gazuzax
  #20 (permalink)  
Antiguo 02/10/2006, 09:58
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo Joya

Bueno, gracias a skatomundo que dio solucion a mi problema.
Aqui dejo el codigo completo de listas dependientes para los que lo esten necesitando:

Primer archivo:

select_dependientes.php
Codigo AJAX.
Código:
<script language="javascript" type="text/javascript">
function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 

	return xmlhttp; 
}

function cargaContenido()
{
	
	var valor=document.getElementById("select_0").options[document.getElementById("select_0").selectedIndex].value;
	if(valor==0)
	{
		// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo todo por defecto
		combo=document.getElementById("select_1");
		combo.length=0;
		var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Elegir una marca";
		combo.appendChild(nuevaOpcion);	combo.disabled=true;
	}
	else
	{
		ajax=nuevoAjax();
		ajax.open("GET", "select_dependientes_proceso.php?seleccionado="+valor, true);
		ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras carga elimino la opcion "Elige pais" y pongo una que dice "Cargando"
				combo=document.getElementById("select_1");
				combo.length=0;
				var Indice=window.document.form1.marcas.selectedIndex;
                document.form1.MARCANOMBRE.value=document.form1.marcas.options[Indice].text;
				var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
				combo.appendChild(nuevaOpcion); combo.disabled=true;	
			}
			if (ajax.readyState==4)
			{ 
				document.getElementById("fila_2").innerHTML=ajax.responseText;
			} 
		}
		ajax.send(null);
	}
}
</script>
Codigo PHP (contiene el primer select)
Código PHP:
<td id="fila_1" align="left"><?php
function generaPaises()
{
    
$coneccion=mysql_connect("localhost""city45_user""city") or die(mysql_error());
    
mysql_select_db("city45_avisos"$coneccion) or die(mysql_error());
    
$consulta=mysql_query("SELECT * FROM auto_marcas ORDER BY id_marcas ASC");
    
mysql_close($coneccion);

    
// Voy imprimiendo el primer select compuesto por los paises
    
echo "<select class='combo' id='select_0' name='marcas' onChange='cargaContenido()'>";
    while(
$registro=mysql_fetch_row($consulta))
    {
        echo 
"<option value='".$registro[0]."'>".$registro[1]."</option>";
    }
    echo 
"</select>";
}
?>              <?php generaPaises(); ?><input type="hidden" name="MARCANOMBRE" value=""></td>
Código:
<td id="fila_2" align="left"><select class="combo" disabled="disabled" id="select_1" name="modelos">
		<option id="valor_defecto" value="0">Seleccione un modelo</option>
		</select></td>
select_dependientes_proceso.php
Codigo PHP (contiene el segundo select que depende del primero)
Código PHP:
<?php
function validaValor($parametro)
{
    
/* Funcion utilizada para validar el numero de pais recibido por GET. En nuestra base
    de datos tenemos como validos los paises desde 1 a 21 */
    
if(eregi("^[0-9]{1,2}$"$parametro)) 
    {
        if(
$parametro>=&& $parametro<=44) return TRUE;
        else return 
FALSE;
    }
    else return 
FALSE;
}

$valor=$_GET["seleccionado"];

if(
validaValor($valor))
{
    
// Si el numero corresponde a un codigo de pais valido paso a procesar
    
$coneccion=mysql_connect("localhost""city45_user""city") or die(mysql_error());
    
mysql_select_db("city45_avisos"$coneccion) or die(mysql_error());
    
// Genero la consulta trayendo todos los estados que correspondan al codigo de pais elegido
    
$consulta=mysql_query("SELECT * FROM auto_modelos WHERE id_modelos='$valor'");
    
mysql_close($coneccion);

    
// Comienzo a imprimir el select
    
echo "<select class='combo' id='select_1' name='modelos'>";
    while(
$registro=mysql_fetch_row($consulta))
    {
        
// Paso a HTML acentors y ñ para su correcta visualizacion
        
$registro[1]=htmlentities($registro[1]);
        
// Imprimo las opciones del select
        
echo "<option value='".$registro[2]."'>".$registro[2]."</option>";
    }            
    echo 
"</select>";
}
?>
Bueno, cualquier cosa me consultan.
Muchas gracias skatomundo y hasta la proxima consulta
  #21 (permalink)  
Antiguo 05/10/2006, 14:32
Avatar de Mulato  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 22 años, 4 meses
Puntos: 0
Epale colega...

Este es el mas facil con la ayuda de todos...

http://www.forosdelweb.com/f18/lista-dependiente-si-asp-funciona-porque-php-no-430861/
__________________
Necesito aprender para compartir mi saber...
  #22 (permalink)  
Antiguo 06/10/2006, 22:02
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
una consulta Spychaser, tu diseño quedo sin relacion??estoy tratando de enteder ajax y por falta de tiempo no he podido mirarlo bien cambie solo los daots de conexion y me funciona pk me carga un combo, cree cree tus tablas en mi BD de nombre "lista" y no me funciona, me keda el egundo combo disabled y en blanco al seleccionar el primero y la ventana de IE me dice Listo abajo, pero con el icono de error de javascript
esta son las tablas
Cita:
CREATE TABLE `auto_marcas` (
`ID_MARCAS` int(11) NOT NULL default '0',
`MARCAS` varchar(50) default NULL,
PRIMARY KEY (`ID_MARCAS`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `auto_marcas` VALUES (1, 'chevrolet');
INSERT INTO `auto_marcas` VALUES (2, 'toyota');

-- --------------------------------------------------------
CREATE TABLE `auto_modelos` (
`ID_MODELOS` int(11) NOT NULL default '0',
`MODELOS` varchar(50) default NULL,
PRIMARY KEY (`ID_MODELOS`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `auto_modelos` VALUES (1, 'cavalier');
INSERT INTO `auto_modelos` VALUES (2, 'legacy');
estan bien creadas? pk no entiendo bien como lo hicste si no tienen relacion
SALUDOS!

Última edición por gazuzax; 07/10/2006 a las 22:42
  #23 (permalink)  
Antiguo 07/10/2006, 18:24
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo joya.

gazuzax
si me pasas tu codigo por ahi lo podemos ver mejor.
Pero tenes que fijarte que la relacion pasa por:

Código PHP:
<?
<option value='".$registro[0]."'>".$registro[1]."</option>
?>
y ademas tenes que tener bien esto
Código PHP:
<? SELECT FROM auto_modelos WHERE id_modelos='$valor'" ?>
avisame cualqueir cosa.
  #24 (permalink)  
Antiguo 08/10/2006, 13:03
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
te lo mande interno para no dejar el codigo tan arriba y la gente lo encuentre mas facil, si lo quieres por aqui en el foro me avisas. mi codigo es el mismo de aki con cambios en la conexion y mis tblas estan un poco mas arriba, xcias :ariba:
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 21:48.