buenos tardes a todos estoy en busqueda de solucionar un incombeniente con los combox dependientes.
colocare primero el codigo y luego mi problema
este codigo esta ubicado en el index
<SCRIPT LANGUAGE="JavaScript">
function idcountry() {
document.forms.register.action=""
document.forms.register.method="post";
document.forms.register.submit();
}
function iddepartment() {
document.forms.register.action=""
document.forms.register.method="post";
document.forms.register.submit();
}
</SCRIPT>
<form name="register" method="post" action="">
<?php $pais = pais();?>
<?php $departamento = departamento ($_POST['id']);?>
</form>
la conexion junto con la funcion:
function pais(){
$mysqli = new mysqli("localhost", "root", "", "database");
if(!$mysqli->set_charset("utf8")) {
printf("Error cargando el conjunto de caracteres utf8: %s\n", $mysqli->error);
}
$query = "SELECT id, namecountry FROM country ORDER BY namecountry ASC";
if($result = $mysqli->query($query)) {
/* obtener array asociativo */
echo '<td width="15%"><label>Pais:</label></td>';
echo '<td width="35%"><select name="country" onChange="idcountry()">';
echo '<option value="0">Seleccione o digite un pais</option>';
while ($row = $result->fetch_assoc()) {
if($row['id']==$_POST['country']){
echo '<option value="'.$row['id'].'" selected="selected">'.$row['namecountry'].'</option>';
}
else{
echo '<option value="'.$row['id'].'">'.$row['namecountry'].'</option>';
}
}
echo '</select>';
/* liberar el resultset */
$result->free();
}
}
function departamento($id){
if (isset($_POST['idcountry'])) {// UTILIZADA EN EDITAR.PHP
$id = strip_tags($_POST['idcountry']);
$mysqli = new mysqli("localhost", "root", "", "database");
if(!$mysqli->set_charset("utf8")) {
printf("Error cargando el conjunto de caracteres utf8: %s\n", $mysqli->error);
}
$query = "SELECT id, namedepartment, idcountry FROM department WHERE idcountry = '$id' ";
if($result = $mysqli->query($query)) {
/* obtener array asociativo */
echo '<td width="15%"><label>Departamento:</label></td>';
echo '<td width="35%"><select name="department" onChange="iddepartment()">';
echo '<option value="0">Seleccione o digite un departamento</option>';
while ($row = $result->fetch_assoc()) {
if($row['id']==$_POST['department']){
echo '<option value="'.$row['id'].'" selected="selected">'.$row['namedepartment'].'</option>';
}
else{
echo '<option value="'.$row['id'].'">'.$row['namedepartment'].'</option>';
}
}
echo '</select>';
/* liberar el resultset */
$result->free();
}
}
}
en que consiste mi problema bueno al llamar la tabla paises esta me los tre sin problema alguno la cuestion es cuando se selecciona el pais la casilla de departamentos me dice que no se encuentra definida la variable $id.
cuando defino la variable desaparece el input de departamento por tanto no hay como seleccionar o verlo ,
alguien que pueda ayudar con este inconveniente