Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/04/2014, 06:08
milotower
 
Fecha de Ingreso: abril-2014
Ubicación: Almería
Mensajes: 58
Antigüedad: 10 años
Puntos: 2
Respuesta: Lista Desplegable con valores condicionados en un select inicial

En primer lugar muchas gracias por contestar. Creo que voy por buen camino, pero aún no me funciona. El código resultante es el siguiente:

Código PHP:
<?php header('Content-type: text/html; charset=utf-8');


                        
$con=mysql_connect("localhost","root","");
                        
mysql_select_db("base",$con);
                        
$consulta="select * from plagas";
                        
$datos=mysql_query($consulta,$con);
                        
$array=mysql_fetch_array($datos);
                        echo 
"<form action='' method='post'>
                        <select id = 'plagas' name = 'plagas'>"
;
                        echo 
"<option value='Ninguno'>Selecciona un opcion...</option>";
                        do{
                            
$plaga=$array['plaga'];
                            echo 
"<option value='$plaga'>$plaga</option>";
                        } while (
$array=mysql_fetch_array($datos));
                        
mysql_close($con);
                        
                        
?>                        
            
            <div id="respuesta"></div>
            
            </form>
            <script type="text/javascript" src="/js/jquery.js"></script>
            <script>            
                $("#plagas").change(function(){
                    if ($(this).val() != "Ninguno"){
                        $.ajax({
                            url: "/segundo_archivo.php",
                            type: "GET",
                            data: {
                                opcion: $(this).val()
                            }
                        }).done(function(response){
                            $("#respuesta").html(response);
                        }).fail(function(jqXHR, textStatus){
                            $("#respuesta").html("Ha ocurrido un error: " + textStatus);
                        });
                    }
                });

                </script>

Y el segundo archivo PHP:

Código PHP:
<?php header('Content-type: text/html; charset=utf-8');


                        
$con=mysqli_connect("localhost","root","");
                        
mysqli_select_db("base",$con);
                        
                        
$opcion mysqli_real_escape_string(strip_tags($_GET["opcion"]));
                        
$query mysqli_query($con"SELECT * FROM productos WHERE plaga = '$opcion'");
                        if (
mysqli_num_rows($query)){
?>


    <select id = "productos" name = "productos">
<?php
    
while ($row mysqli_fetch_array($query)){
?>
        <option value = <?=$row["producto"]?> <?=$row["producto"]?> </option>
<?php        
    
}
    
mysqli_free_result($query);
?>
    </select>
<?php
}
?>

Cuando lo ejecuto sólo me aparece la primera lista pero no la segunda. No sé si la libreria que estoy usando sería la correcta:
Código HTML:
<script type="text/javascript" src="/js/jquery.js"></script> 
O bien es que el div de la segunda lista debe de ir entre otras etiquetas.
Código HTML:
<select id = "productos" name = "productos"> 
He probado varias cosas pero sin suerte, en cualquier caso, si me pudierais echar una mano en detectar el fallo lo agradecería mucho.

Saludos.