Select anidados ajax, mysql y php

Necesito hacer dos select menu anidados que se carguen con datos de las tablas y que guarde datos en otra tabla en mysql. Necesito ayuda urgente.

1 respuesta

Respuesta
1

Necesitas hacer este trabajo con javascript y un lenguaje del lado servidor (como php, asp, etc), ¿estas usando algún framework (tipo jquery) o javascript nativo para esta acción?

me estoy guiando por este ejemplo http://codigojerry.blogspot.com/2012/11/cargar-un-select-desde-otro-select-php.html, pero le falta la isercion a la bd me podrias colaborar.

Para que el ejercicio funcione necesitamos realizar las siguientes tareas con respecto al código fuente de ese sitio:

Crear una tabla llamada "tabla_relacion" que contenga los campos país, ciudad (ambos varchar).

Ademas de las estructuras de las tablas país y continente del ejercicio

Reprogramar el archivo index.php con el siguiente código.

¿

<?php
include 'conexión.php';
if($_POST){
$contienente=$_POST["continente"];
$país=$_POST["país"];
$sql="insert into tabla_relacion (país, ciudad) values ('".$continente."', '".$país."')";
$con=conexión();
$res=mysql_query($sql, $con);
}
?>
<!DOCTYPE html>
<html>
<head>
<script src="ajax.js"></script>
</head>
<body>
<form method="post" action="./index.php">
<h2>HTML - PHP - AJAX - MySQL</h2>
<?php
$con=conexión();
$res=mysql_query("select * from continente",$con);
?>
<select id="cont" name="continente" onchange="load(this.value)">
<option value="">Seleccione</option>
<?php
while($fila=mysql_fetch_array($res)){
?>
<option value="<?php echo $fila[código]; ?>"><?php echo $fila[nombre]; ?></option>
<?php } ?>
</select>
<div id="myDiv"></div>
<input type="submit" value="Guardar">
</type>
</body>
</html>

----------------------------------------------------------------------------

Reprogramar el archivo proc.php (OJO QUE EN LA PAGINA LE COLOCARON POR NOMBRE PROC.JS! Está equivocado hay que mantener el nombre proc.js)

<?php
include 'conexión.php';
$que=$_POST['que'];
$con=conexión();
$res=mysql_query("select * from país where cod_cont=".$q."",$con);
?>
<select name="país">
<?php while($fila=mysql_fetch_array($res)){ ?>
<option><?php echo $fila[nombre]; ?></option>
<?php } ?>
</select>

Los que se ha hecho es primer modificar el index para que tenga un botón enviar que guarde la información y añadimos una etiqueta form para que haga la petición http.
En el archivo proc.php hemos dado un nombre al elemento que aparecerá con tal de que pueda ser rescatado cuando lo envíe el formulario.

Buena noche estimado experto, te lo agradezco mucho ya esta funcionando, me puedes ayudar en una cosa mas, cuando creas las variables país y continente, lo que va dentro de las comillas de donde lo llamas, o lo que llamas es al nombre del select, te lo agradezco mucho.

$contienente=$_POST["continente"];
$país=$_POST["país"];

Muchas gracias tu ayuda fue muy útil aprendí algo nuevo contigo gracias muy agradecido, ya lo tengo montado en mi aplicación y me funciona genial.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas