Cita:
Iniciado por Alexis88
Si ambas tablas se encuentran relacionadas, solo tendrás que buscar por el campo de cualquiera de ambas tablas que sea la que las relacione. Trata de hacer desde la tabla independiente.
Saludos
Alexis88, no sé exactamente a lo que te refieres, todavía soy demasiado novato en esto...
He encontrado este código por internet y lo he adaptado a mi caso, pero no consigo que me funcione.
ARCHIVO index.php
Código:
<?php
$conexion = mysql_connect('localhost','root','');
if(!$conexion)
{
die('No se ha podido establecer la conexión: '.mysql_error());
}
mysql_select_db('ciudades',$conexion);
// construimos el combo de provincias desde la base de datos
$consulta = mysql_query("SELECT * FROM provincias");
$select_provincias ="";
while($fila = mysql_fetch_array($consulta))
{
$select_provincias.= "<option value='".$fila['provincia']."'>".$fila['provincia']."</option>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<head>
<title>Combo Aninado</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
// Parametros para el combo
$("#provincia").change(function () {
$("#provincia option:selected").each(function () {
elegido=$(this).val();
$.post("genera-select.php", { elegido: elegido }, function(data){
$("#municipio").html(data);
});
});
});
});
</script>
</head>
<body>
<h1>Combos Anidados Sin Recargar con Jquery y PHP</h1>
<hr>
<form class="form-horizontal" name="formulario" action="" method="post">
<div class="control-group">
<label class="control-label" for="pais">Provincia</label>
<div class="controls">
<select class="span3" name="provincia" id="provincia" required>
<option value="0">Seleccione...</option>
<?php echo $select_provincias;?>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="ciudad">Municipio</label>
<div class="controls">
<select class="span3" name="municipio" id="municipio" required>
</select>
</div>
</div>
</form>
</body>
</html>
Hasta aquí me funciona bien, el select de provincias se llena correctamente con todas las provincias de españa.
ARCHIVO genera-select.php
Código PHP:
<?php $conexion = mysql_connect('localhost','root','');
if(!$conexion)
{
die('No se ha podido establecer la conexión: '.mysql_error());
}
mysql_select_db('ciudades',$conexion);
$municipio="";
$provincia=$_POST["elegido"];
// construimos el combo de ciudades deacuerdo al pais seleccionado
$consulta1 = mysql_query("SELECT * FROM provincias_ciudades WHERE provincia = $provincia ");
while($fila1 = mysql_fetch_array($consulta1))
{
$municipio.= "<option value='".$fila1['municiapio']."'>".$fila1['municipio']."</option>";
}
echo $municipio;
?>
Es esta segunda parte, la que tiene que llenar el campo municipios según la provincia que haya elegido el que se queda en blanco. Da igual la provincia que elija.
Las tablas que estoy usando son:
TABLA: provincias
CAMPO1: provincia
TABLA: provincias_ciudades
CAMPO1: provincia
CAMPO2: municipio