Tengo un formulario que utilizo para filtrar registros en el hay varios selects y varios checkbox y mi problema esta en los selects para que entendais mejor el problema solo pondre el código de uno de los selects, ante todo tengo que decir que al pulsar el boton de submit se mantiene lo seleccionado en los selects, pero el problema no es ese.
El problema es que al entrar por primera vez a la página donde se encuentra me da un Notice y no se rellena el select, pero si pulso el boton del submit sin seleccionar nada ya que no me deja porque el select no se ha rellenado de la base de datos, desaparece el Notice, se rellena el select y a partir de hay todo funciona perfectamente, solo existe el problema al entrar a la página por primera vez.
Este es el notice:
Código :
Notice: Undefined index: selciudad in C:\wamp\www\Vehiculos\coches.php on line 159en el código del select pongo la linea que produce el Notice entre 2 comentarios, bien este es mi código:
Principio de la página:
Código PHP :
<?php require_once('Connections/ConexionCoches.php'); $selciudad = isset($_GET["selciudad"])? $_GET["selciudad"]: ''; ?>Este es el select;
Código PHP :
<select name="selciudad" id="selciudad" class="Guias3"> <option value="-1" selected> Todas las Ciudades </option> <?php $tablaciudad = mysql_query("SELECT * FROM provincias ORDER BY Provincia ASC"); while ($registrociudad = mysql_fetch_array($tablaciudad )) { // este es el código que produce el Notice if ($_GET["selciudad"]==$registrociudad['Provincia']) // este es el código que produce el Notice { echo "<option value='".$registrociudad['Provincia']."' selected> ".$registrociudad['Provincia']."</option>"; }else{ echo "<option value='".$registrociudad['Provincia']."' > ".$registrociudad['Provincia']."</option>"; } } mysql_free_result($tablaciudad); ?> </select>y esto es como utilizo la variable $selciudad dentro de mi consulta para que me filtre:
Código :
$sql = "SELECT SQL_CALC_FOUND_ROWS * FROM coches WHERE Activacion = '1' and (Nombre like '%" . $txt_criterio . "%')"; if (isset($_GET['selciudad'])and $_GET['selciudad'] <>'-1') { $sql .= "AND coches.Ciudad = '$selciudad' "; }else {$sql .= "AND coches.Ciudad <> '-1' "; } //Detras de esto va el ORDER BY y el LIMIT no creo que haga falta ponerlosUna aclaración he hecho un echo de $selciudad cuando entro por primera vez y no me da ningún valor cuando funciona bien sin seleccionar nada el valor de $selciudad es "-1" creo que el problema esta hay pero no veo como solucionarlo.
Me podeis ayudar.
Gracias a tod@s.