Foros del Web » Programando para Internet » PHP »

Mostrar opciones de un dato haciendo click?

Estas en el tema de Mostrar opciones de un dato haciendo click? en el foro de PHP en Foros del Web. Hola, como no sé (más bien estoy seguro) si me he explicado bien en el título, expongo aquí mi duda: Tengo una web, con un ...

  #1 (permalink)  
Antiguo 04/08/2011, 13:26
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Mostrar opciones de un dato haciendo click?

Hola,
como no sé (más bien estoy seguro) si me he explicado bien en el título, expongo aquí mi duda:
Tengo una web, con un combobox, entonces yo cuando selecciono algo del combobox me aparece en una columna. Imagínense, en el combo salen marcas de coche, y cuando hago click en una, me salen todos sus modelos en una columna (sin combobox ni nada). Entonces me gustaría saber cómo hacer para que al hacer click en un dato de esa columna me salgan las especificaciones técnicas del modelo en esa misma página. Los datos ya los he metido en la bd y todo.

Lo del en esa misma página es importante.

Se me ocurre hacerlo con un GET o algo así, cambiando la URL de la página:
modelos.php?id=

Un saludo.
  #2 (permalink)  
Antiguo 04/08/2011, 13:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar opciones de un dato haciendo click?

Podrías hacer peticiones mediante AJAX para que no recargue la página.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 04/08/2011, 13:39
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

¿Y eso cómo lo hago?
  #4 (permalink)  
Antiguo 04/08/2011, 13:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar opciones de un dato haciendo click?

Te recomiendo que si no sabes como trabajar con AJAX, que verifiques tutoriales en internet para que puedas desenvolverte.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 04/08/2011, 13:42
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Dejo el código PHP:
Código PHP:
<?php
    
include_once("funciones-comunes.php");
    if(!
estas_autenticado()){
        echo 
"No estás registrado, vuelva a la página <a href='index.php'>anterior</a> para hacer login.";
    }else{
    
$titulo_pagina "GTQUÍMICA";
    
$descripcion "GTQUIMICA";
    
$keywords "gtquimica, quimica";
    include(
".cabecera.php");
    
//include("navegador.php");
?>
                <div id="cuerpo">
                <div id="cuerpoprincipal">
                    <div id="barratitulo">
                        <div id="linea">
                            <img src="images/linea_schindler.gif">
                        </div>
                        <div id="titulo">
                            <h1><?php
                                    
if(isset($_POST['select_tipos'])){
                                        echo 
$_POST['select_tipos'];
                                    }
                                
?>
                        </div>
                    </div>
                    <div id="letra">
                        
                        <div id="tabla_tipos">
                            <div id="form">
                            <?php
                                
if(estas_autenticado()){
                            
?>
                                <form action="tipos.php" method="post">
                            <?php tipos("select_tipos"); ?>
                                    <input type="submit" value="Seleccionar">
                                </form>
                            </div>
                            <div id="columnalado">
                                <div id="columna">
                                    <?php
                                        
if(!$_POST){
                                            echo 
"<p>Aquí aparecerán los modelos del fabricante seleccionado, elija uno.</p>";
                                        }else{
                                            if(isset(
$_POST["select_tipos"])){
                                                
$select_modelo $_POST["select_tipos"];
                                                
$sql sprintf("SELECT * FROM modelos WHERE Fabricante = '%s'"mysql_real_escape_string($select_modelo));
                                                
$registros mysql_query($sql);
                                                
                                                if(!
$registros){
                                                    echo 
"<p class='error'>Error en la Base de Datos, no se pueden listar las tablas.</p>";
                                                }else{
                                                    while (
$fila mysql_fetch_array($registros)){
                                                        
?>
                                                        <p class="tipos"><?php echo $fila["Modelo"]; ?></p>
                                                    
                                                    <?php
                                                    
}
                                                    
mysql_free_result($registros);
                                                }
                                            }
                                        }
                                        
                                    
?>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
<?php
                                
}else{
                                    echo 
'<p clas="error">No puedes entrar sin estar identificado</p>';
                                }
    }
?>
</body>
</html>
  #6 (permalink)  
Antiguo 05/08/2011, 01:15
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

¿Entonces no hay ninguna forma de hacerlo con PHP?

Pues vaya...
  #7 (permalink)  
Antiguo 05/08/2011, 05:35
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

Es sencillo. Mira cómo tienes hecho y cópialo:

- Tienes un formulario que te remite a la misma página en la que estás:
Código PHP:
Ver original
  1. <form action="tipos.php" method="post">
- Con un único select que lo montas aquí:
Código PHP:
Ver original
  1. <?php tipos("select_tipos"); ?>
- Y un submit del formulario:
Código PHP:
Ver original
  1. <input type="submit" value="Seleccionar">
- Luego compruebas que el select haya tomado valor aquí:
Código PHP:
Ver original
  1. if(!$_POST){
  2.    echo "<p>Aquí aparecerán los modelos del fabricante seleccionado, elija uno.</p>";
  3. }else{
  4.     if(isset($_POST["select_tipos"])){
- Y, en caso de que sí tomara valor, imprimes los resultados aquí:
Código PHP:
Ver original
  1. $select_modelo = $_POST["select_tipos"];
  2. $sql = sprintf("SELECT * FROM modelos WHERE Fabricante = '%s'", mysql_real_escape_string($select_modelo));
  3. $registros = mysql_query($sql);
  4.                                                
  5. if(!$registros){
  6.    echo "<p class='error'>Error en la Base de Datos, no se pueden listar las tablas.</p>";
  7. }else{
  8.    while ($fila = mysql_fetch_array($registros)){
  9. ?>
  10.       <p class="tipos"><?php echo $fila["Modelo"]; ?></p>
  11. <?php
  12.     }
  13.    mysql_free_result($registros);
  14. }

Qué tienes que hacer? Fácil:
- Tienes que crear un segundo formulario que rodee la zona donde imprimes los modelos.
- En vez de imprimir los datos como estáticos de los modelos de coches, tienes que imprimirlos en forma de combobox.
- Añade un botón de submit a este formulario que te envíe a la misma página.
- Añade una nueva sección al lado de la de los modelos que compruebe si el formulario ha sido enviado.
- En caso de que sí haya sido enviado, rescata el valor enviado, accede a la base de datos y presenta sus datos y características.

Con esta guía no deberías tener problemas, ya que es sólo copiar y pegar de lo que ya has hecho y modificar algunas cosillas.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #8 (permalink)  
Antiguo 05/08/2011, 07:19
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Ok, entendido, lo que me falta es saber cómo hacer para imprimir los datos en un combobox, que los otros los he escrito yo mismo.

Por cierto, ya me he cogido un libro de la bilbioteca para aprender AJAX.

Un saludo.
  #9 (permalink)  
Antiguo 05/08/2011, 08:44
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

Para escribir el otro combobox utilizas esta función:
<?php tipos("select_tipos"); ?>

No sé lo que tendrá dentro, pero vamos, ahí tienes un ejemplo de cómo hacerlo.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #10 (permalink)  
Antiguo 05/08/2011, 11:24
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Eso ya sé, aunque gracias igualmente, me refería a cómo poner las opciones sacándolas de la base de datos, que no sé.
  #11 (permalink)  
Antiguo 06/08/2011, 11:16
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

¿Cómo puedo escribir el combobox con los datos de la bd referidos a un fabricante/marca?
  #12 (permalink)  
Antiguo 06/08/2011, 11:20
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

Qué es exactamente lo que no sabes? Montar un combobox? Sacar los datos de la base de datos? Parece que tampoco has buscado mucho.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #13 (permalink)  
Antiguo 06/08/2011, 11:24
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Sacar los datos de la base de datos que tengo en una columna para ponerlos en el combo

Es decir:
por ejemplo, yo tengo una bd que ponga:

Fabricante | Modelo
porsche | 911
volvo | s40
volvo | s60

Y yo quiero que en un primer combobox me salgan las opciones de la primera columna y que al darle al botón de enviar me salgan en otro combobox las opciones con el modelo a elegir.

Muchas gracias
  #14 (permalink)  
Antiguo 06/08/2011, 11:28
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

Ya, eso ya lo sé, lo que te pregunto es qué no sabes hacer del código PHP. Si no sabes hacer nada de nada, te remito a un manual de PHP, porque no puedo explicártelo todo.

Y te repito, ya te dije en otro post, saca el código de <?php tipos("select_tipos"); ?>, que tiene que ser una función que tengas en algún lado, porque ahí monta un combobox y puedes ver cómo lo hace para hacerlo tú similar. Sólo tendrás que cambiar la consulta select que se haga, ya que la que tenga será para consultar marcas y tú ahora quieres consultar modelos, pero lo demás es idéntico.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #15 (permalink)  
Antiguo 06/08/2011, 11:38
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Yo en el archivo funciones-comunes.php tengo declarada la función:
Código:
    function tipos($nombre_del_select){
         $array_tipos = array("Elige un tipo", "ferrari", "porsche", "volvo", "citroen");
         $cantidad = count($array_tipos);
         echo '<select name="'.$nombre_del_select.'" id="'.$nombre_del_select.'">';
         for($i = 0; $i < $cantidad; $i++){
            $array_tipos_i = $array_tipos[$i];
            echo '<option value="'.$array_tipos_i.'"'; 
                if (isset($_GET["$nombre_del_select"])) { 
                   if($_GET["$nombre_del_select"]=="$array_tipos_i"){ 
                           echo "selected"; 
                   } 
                } 
            echo '>'.$array_tipos_i.'</option>';
        }
        echo '</select>';
    }
El problema está en esa línea, que en vez de coger los datos de una bd los he escrito yo mismo. Pues lo que quiero es que los coja de una bd. Se me ocurre la siguiente manera:
Código:
$sql = ("select marca from coches")
$registro = mysql_query($sql)
Y después de eso poner la variable $registro en el array, pero solo me dice: Resource id#6.

Entonces ese es el problema, ya sé que sería lo mismo para los modelos.
  #16 (permalink)  
Antiguo 06/08/2011, 11:48
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

Buenas, ahora sí te entiendo, ves qué fácil.

mysql_query no devuelve un array, devuelve un resultset de la base de datos, por eso te imprime Resource id#6. Hay que hacer un fetch. Una cosa así:
Código PHP:
Ver original
  1. $sql "SELECT marca FROM coches";
  2. $registro = mysql_query ($sql, $link);   // En $link tienes que poner el enlace a la base de datos, que lo consigues de mysql_connect().
  3. if ($registro) {   // Conrol de errores, si la consulta tiene algún problema, $registro se pone a false.
  4.    while ($datos = mysql_fetch_array($registro)) {   // fetch rescata el siguiente registro del resultado (la siguiente línea)
  5.       // Aquí tienes en $datos los datos sacados de la base de datos y puedes acceder con los nombres de los campos $datos['nombre_campo'].
  6.       echo "La marca del coche es " . $datos['marca'];
  7.    }
  8. } else {
  9.    echo "Error en la consulta";
  10. }

Cono eso te valdrá, un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #17 (permalink)  
Antiguo 06/08/2011, 12:17
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Muchas gracias, pero problemas a la vista, sencillos de solucionar para vosotros, imposibles para mí:
He puesto en el código:
Código PHP:
function tipos($nombre_del_select){
         
$sql = ("Select Fabricante from coches");
         
$registro mysql_query($sql); //El link no lo he puesto porque si lo ponía no me salía nada (poniendo lo que yo tenía [$conexion])
         
while($datos mysql_fetch_array($registro)){
            
$array_tipos = array("Elige un tipo"$datos['Fabricante']);
            
$cantidad count($array_tipos);
            echo 
'<select name="'.$nombre_del_select.'" id="'.$nombre_del_select.'">';
            for(
$i 0$i $cantidad$i++){
               
$array_tipos_i $array_tipos[$i];
               echo 
'<option value="'.$array_tipos_i.'"'
                   if (isset(
$_GET["$nombre_del_select"])) { 
                      if(
$_GET["$nombre_del_select"]=="$array_tipos_i"){ 
                              echo 
"selected"
                      } 
                   } 
               echo 
'>'.$array_tipos_i.'</option>';
           }
           echo 
'</select>';
         }
    } 
Bueno, pues tras poner esto y peleándome un poco me sale un combobox para cada opción. Salen bien las opciones y en el orden, pero por cada combobox una, (esto me está matando la cabeza).

Y nuevamente gracias por tu disposición, me estás siendo de gran ayuda en todo .

Un saludo
  #18 (permalink)  
Antiguo 06/08/2011, 12:29
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

No me has entendido bien, en serio, te recomiendo que te leas un manual y pruebes, porque si no, vas a estar viniendo cada 5 minutos a postear.

En $datos tienes un array con todos los campos de un registro (una línea). Es decir, si tu consulta tiene:
Código:
id | campo1 | campo2 | campo3
------------------------------------
 1 | valor1 | valor2 | valor3
 2 | valor4 | valor5 | valor6
En la primera ejecución del while ($datos = mysql_fetch_array($registro)) tendrás:
$datos['id']=1, $datos['id']=valor1, $datos['id']=valor2, $datos['id']=valor3
Y en la segunda:
$datos['id']=2, $datos['id']=valor4, $datos['id']=valor5, $datos['id']=valor6

Es decir, tienes que sustituir el bucle for que tenías en la función anterior, por el bucle while que recorra todos los resgistros del resultado de la consulta y adaptarlo. Te lo daría hecho, tardo 2 minutos en montarlo, pero así no aprendes nada. Busca un manual, anda.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #19 (permalink)  
Antiguo 07/08/2011, 04:24
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Lo he buscado todo por Internet, el índice de FAQs del foro (que ya había leído), el apartado de sistemas de PHP del foro también y muchas páginas de Internet que lo explican, pero no me sale. Estoy empezando a pensar que esto no es para mí.

He puesto:
Código PHP:
     function tipos($nombre_del_select){
         $registro = mysql_query("Select Marca from maniobras", $conexion);
            ?>
            <select name='Fabricante' id='Fabricante'>
            <?
            
while($fila=mysql_fetch_array($registro)){
               echo 
'<option value="'.$fila["Marca"]. '">'.$fila["Marca"] . '</option>';
            }
?>
            </select>
            <?php
}
Muchas gracias.
  #20 (permalink)  
Antiguo 07/08/2011, 04:40
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

Mira a ver si tira con esto:
Código PHP:
Ver original
  1. function tipos($nombre_del_select) {
  2.     $sql = "SELECT Fabricante FROM coches";
  3.     $registro = mysql_query($sql);
  4.     echo '<select name="' . $nombre_del_select . '" id="' .$nombre_del_select. '">';
  5.     while ($datos = mysql_fetch_array($registro)) {
  6.         echo '<option value="' . $datos['Fabricante'] . '"';
  7.         if (isset($_POST["$nombre_del_select"])) {
  8.             if($_POST["$nombre_del_select"] == $datos['Fabricante']) {
  9.                 echo ' selected="selected"';
  10.             }
  11.         }
  12.         echo '>' . $datos['Fabricante'] . '</option>';
  13.     }
  14.     echo '</select>';
  15. }

Si no, coméntamelo, lo he hecho rápido y no lo puedo probar en casa. Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #21 (permalink)  
Antiguo 07/08/2011, 04:56
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Jo tío, que bueno eres, muchísimas gracias, me funciona a la perfección, ahora toca entenderlo.

Además le he agregado un distinct para hacer que no me salgan repetidos.

Un saludo.
  #22 (permalink)  
Antiguo 07/08/2011, 05:09
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

Cierto, no había caído en eso.

Mira, te digo lo que creo que no funcionaba en el tuyo. Esta línea:
$registro = mysql_query("Select Marca from maniobras", $conexion);

El otro día me dijiste que si añadías $conexion te dejaba de funcionar. Yo he puesto esto:
$registro = mysql_query($sql);

Te explico un par de cosas, realmente mysql_query solicita que pases el resource de la base de datos por una razón muy sencilla, no puede saber a qué base de datos (a qué conexión) tiene que realizar dicha consulta. En este caso funciona bien porque sólo tienes una conexión dentro de tu código PHP, pero te encontrarás algunas aplicaciones para las que necesitarás conectar a varias bases de datos. Entonces tu código dejará de funcionar misteriosamente. Por eso, es mejor acostumbrarse a hacerlo bien desde el principio.

Qué es lo que pasa a tu código, por qué cuando añades $conexion deja de funcionar. Sencillo, probablemente $conexion no exista en esa parte del código, recuerda que esto es una función que llamas desde otro sitio. Para que existiera tendrías que pasarla como argumento:
Código PHP:
Ver original
  1. function tipos($nombre_del_select, $conexion) {
  2.         $sql = "SELECT Fabricante FROM coches";
  3.         $registro = mysql_query($sql, $conexion);
  4.         echo '<select name="' . $nombre_del_select . '" id="' .$nombre_del_select. '">';
  5.         while ($datos = mysql_fetch_array($registro)) {
  6.             echo '<option value="' . $datos['Fabricante'] . '"';
  7.             if (isset($_POST["$nombre_del_select"])) {
  8.                 if($_POST["$nombre_del_select"] == $datos['Fabricante']) {
  9.                     echo ' selected="selected"';
  10.                 }
  11.             }
  12.             echo '>' . $datos['Fabricante'] . '</option>';
  13.         }
  14.         echo '</select>';
  15.     }

Y hacer la llamada así:
<?php tipos("select_tipos", $conexion); ?>

Ya que seguramente en esa página sí que exista la conexión. Clear enough?

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #23 (permalink)  
Antiguo 07/08/2011, 11:55
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Gracias, entendido.

Entonces, ahora para hacer otro combo de esos, pero que dependa del otro se hace simplemente cambiando la consulta de la bd, no?
  #24 (permalink)  
Antiguo 08/08/2011, 01:56
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

Te remito a mi post anterior, en que te lo explicaba paso por paso, no me voy a repetir.

Un saludo.

PD: para aprender hay que probar y fallar, si cada línea de código que escribes vienes a preguntar cómo escribir la siguiente, no aprendes nada. Para eso te lo hago yo directamente y nos ahorramos los 24 mensajes de este post.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #25 (permalink)  
Antiguo 08/08/2011, 07:38
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

He copiado lo que me pusiste tú, lo he amoldado para el modelo, haciendo la siguiente consulta a la bd:
Código PHP:
$select_modelo $_POST["select_tipos"];
$sql "SELECT Modelo FROM maniobras WHERE Fabricante= '%s'";
$registro mysql_query($sql); 
He mirado a ver si la consulta a la bd la hacía bien con un if, y no me salía ningún error. Así que creo que eso está bien. Donde ponía Fabricante he puesto Modelo, que es lo que sale en la bd, peero, no me sale nada. Me sale en combo pero sin opciones.

La verdad, no lo entiendo.

Gracias.
  #26 (permalink)  
Antiguo 08/08/2011, 08:04
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

Qué es %s??? No sale ante en el código...
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #27 (permalink)  
Antiguo 08/08/2011, 11:40
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Mostrar opciones de un dato haciendo click?

Cita:
Iniciado por vgonga1986 Ver Mensaje
Qué es %s??? No sale ante en el código...
creo que intentó usar la función sprintf

Código PHP:
Ver original
  1. $query = sprintf("SELECT * FROM friends WHERE firstname='%s' AND lastname='%s'",
  2.     mysql_real_escape_string($firstname),
  3.     mysql_real_escape_string($lastname));
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #28 (permalink)  
Antiguo 08/08/2011, 14:21
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Sí, se me fue la cabeza, pero ya lo he arreglado poniendo el resultado del post.

Ahora me toca pensar cómo poner los resultados, se me ocurre poner que el segundo vaya por get y escribir los datos. Creo que ya sé, pero me espero a mañana que ya es tarde.

Un saludo y gracias a los dos.
  #29 (permalink)  
Antiguo 09/08/2011, 04:40
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Mostrar opciones de un dato haciendo click?

Tenía perfectamente claro cómo hacerlo y todo, incluso lo he escrito, ahora el problema es que cada vez que le doy al segundo botón de enviar para enviar el modelo del coche y me salga la ficha, me tira todo, es decir, se va la información del Fabricante, creo que es porque el segundo lo he puesto con get y el primero con post. ¿Deberían ser los dos iguales? es decir, los dos con post o los dos con get?

Me estoy volviendo loco...
  #30 (permalink)  
Antiguo 09/08/2011, 05:32
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar opciones de un dato haciendo click?

Yo ya no sé ni qué estás haciendo. Sin el código es imposible saber.

Envia siempre todo por post, pero ten en cuenta, que cuando le das al submit del segundo select, el primero no se envía. Es decir, si quieres guardar el valor del primer select, tendrás que pasárselo de alguna manera. La más fácil es añadir un campo oculto que tenga el valor del primer select, para así poderlo rescatar en el envío del segundo. Algo así:
Código PHP:
Ver original
  1. <?php
  2.     $select_tipos = "";
  3.     if (isset($_POST['select_tipos'])) {
  4.         $select_tipos = $_POST['select_tipos'];
  5.     }
  6. ?>
  7. <input type="hidden" name="select_tipos" value="<?php echo $select_tipos; ?>"

En principio con eso te vale, si no te vale, ponme el código y vemos mejor, porque si no, es imposible.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: dato, opciones
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

SíEste tema le ha gustado a 1 personas




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