Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/07/2015, 10:16
pablofa
 
Fecha de Ingreso: febrero-2015
Ubicación: Murcia
Mensajes: 29
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: No me funciona este código de php con javascript

Cita:
Iniciado por Alexis88 Ver Mensaje
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