Ver Mensaje Individual
  #22 (permalink)  
Antiguo 07/08/2011, 05:09
Avatar de vgonga1986
vgonga1986
 
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 9 meses
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?