Mostrar combo en php
Tengo 2 tablas en mysql una de alumno y otra de especialidad
Create table alumno con sus campos:
Idalumno, apealumno, nomalumno, idesp, proce
Y la tabla especialidad y sus campos: idesp, nombre
La pregunta va así tengo los registros mostrados en una page donde puedo modificar y eliminarlos uno o varios con checkbox,(te dejo el código para que veas como debe de salir) lo que tengo que hacer es que cuando aprieto el botón editar en el campo de especialidad me debe de salir un combo con los datos de las especialidades para escoger otra especialidad (el nombre) para modificar un registro su especialidad...
La eliminación ya me sale puedo actualizar también la cosa esta en esta parte .. Bueno te dejo el código
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>..::: EDICION DE HORARIOS :::..</title>
</head>
<script language="javascript">
function carga(){
document.form1.submit();
}
</script>
<body>
<form id="form1" name="form1" method="post" action="">
<?php
include("conexion.php");
$cn=conecta("bdmatricula");
?>
<table width="200" border="1">
<tr>
<td colspan="6">MANTENIMIENTO</td>
</tr>
<tr>
<td colspan="6"><label>
<input type="submit" name="button" id="button" value="eliminar varios" />
</label></td>
</tr>
<tr>
<td>SELECCIONE</td>
<td>CODIGO</td>
<td>APELLIDOS</td>
<td>NOMBRES</td>
<td>ESPECIALIDAD</td>
<td>PROCEDENCIA</td>
<td>EDITAR</td>
</tr>
<?php
$sql="select * from alumno";
$query=mysql_query($sql);
$codigo=$_REQUEST['cod'];
while($rs=mysql_fetch_row($query)){
echo "
<tr>
";
if($rs[0]==$codigo){
echo "
<td><input type='checkbox' name='checkbox[]' id='checkbox' value='$rs[0]'/>";
echo "
<td><input type='hidden' name='txtcodigo' value='$rs[0]'>'$rs[0]'</td>
";
echo "
<td><input type='text' name='txtapellido' value='$rs[1]'></td>
";
echo "
<td><input type='text' name='txtnombre' value='$rs[2]'></td>
";
echo "
<td><input type='text' name='txtespecialidad' value='$rs[3]'></td>
";
echo "
<td><input type='text' name='txtprocedencia' value='$rs[4]'></td>
";
echo "
<td><a href='javascript:carga();'>ACTUALIZAR</a>/<a href='edicion.php'>REGRESAR</td>
";
}else{
echo "
<td><input type='checkbox' name='checkbox[]' id='checkbox' value='$rs[0]' />";
echo "
<td>$rs[0]</td>
";
echo "
<td>$rs[1]</td>
";
echo "
<td>$rs[2]</td>
";
echo "
<td>$rs[3]</td>
";
echo "
<td>$rs[4]</td>
";
echo "
<td><a href='edicion.php?cod=$rs[0]'>editar</td>
";
}
echo "
</tr>
";
}
//cuando aprieto el actualizar
if($_REQUEST['txtcodigo']){
$codigo=$_REQUEST['txtcodigo'];
$apellido=$_REQUEST['txtapellido'];
$nombre=$_REQUEST['txtnombre'];
$especialidad=$_REQUEST['txtespecialidad'];
$procedencia=$_REQUEST['txtprocedencia'];
$actualizar="update alumno set apealumno='$apellido',nomalumno='$nombre',idesp='$especialidad',PROCE='$procedencia' where idalumno='$codigo'";
mantenimiento($actualizar);
echo "
<script>location.href='edicion.php'</script>
";
}
if($_POST['button']){
foreach($_REQUEST['checkbox'] as $valor){
$consulta="delete from alumno where idalumno='$valor'";
mantenimiento($consulta);
echo "
<script>location.href='edicion.php'</script>
";
}
}
?>
</table>
</form>
</body>
</html>
*lo que hace este codigo es lo siguiente al cargarlo me muestra los registros de la tabla alumno
*cada fila(registro) contiene un check y la palabra editar
*cuando aprieto 'editar' los campos apellidos,nombre,especialida,proce se vuelven modificables para modificarlos ademas aparecen en la fila escogida las palabras ACTUALIZAR (que al apretar actualiza),REGRESAR(que al apretar regresa sin modificar)
Bueno esta aquí la cosa... Cuando aprieto 'editar' me debe salir un combo EN LA ZONA DE especialidad de la tabla con los registros de la tabla especialidad para escoger otro para ACTUALIZAR.. Como debería de hacerlo
*los check sirven para escoger lo que quiero eliminar en esta parte no tengo problemas
Nota :en el combo me debe salir los nombres de los registros no el codigo
Espero que me hayas entendido la explicación gracias por la atención
Create table alumno con sus campos:
Idalumno, apealumno, nomalumno, idesp, proce
Y la tabla especialidad y sus campos: idesp, nombre
La pregunta va así tengo los registros mostrados en una page donde puedo modificar y eliminarlos uno o varios con checkbox,(te dejo el código para que veas como debe de salir) lo que tengo que hacer es que cuando aprieto el botón editar en el campo de especialidad me debe de salir un combo con los datos de las especialidades para escoger otra especialidad (el nombre) para modificar un registro su especialidad...
La eliminación ya me sale puedo actualizar también la cosa esta en esta parte .. Bueno te dejo el código
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>..::: EDICION DE HORARIOS :::..</title>
</head>
<script language="javascript">
function carga(){
document.form1.submit();
}
</script>
<body>
<form id="form1" name="form1" method="post" action="">
<?php
include("conexion.php");
$cn=conecta("bdmatricula");
?>
<table width="200" border="1">
<tr>
<td colspan="6">MANTENIMIENTO</td>
</tr>
<tr>
<td colspan="6"><label>
<input type="submit" name="button" id="button" value="eliminar varios" />
</label></td>
</tr>
<tr>
<td>SELECCIONE</td>
<td>CODIGO</td>
<td>APELLIDOS</td>
<td>NOMBRES</td>
<td>ESPECIALIDAD</td>
<td>PROCEDENCIA</td>
<td>EDITAR</td>
</tr>
<?php
$sql="select * from alumno";
$query=mysql_query($sql);
$codigo=$_REQUEST['cod'];
while($rs=mysql_fetch_row($query)){
echo "
<tr>
";
if($rs[0]==$codigo){
echo "
<td><input type='checkbox' name='checkbox[]' id='checkbox' value='$rs[0]'/>";
echo "
<td><input type='hidden' name='txtcodigo' value='$rs[0]'>'$rs[0]'</td>
";
echo "
<td><input type='text' name='txtapellido' value='$rs[1]'></td>
";
echo "
<td><input type='text' name='txtnombre' value='$rs[2]'></td>
";
echo "
<td><input type='text' name='txtespecialidad' value='$rs[3]'></td>
";
echo "
<td><input type='text' name='txtprocedencia' value='$rs[4]'></td>
";
echo "
<td><a href='javascript:carga();'>ACTUALIZAR</a>/<a href='edicion.php'>REGRESAR</td>
";
}else{
echo "
<td><input type='checkbox' name='checkbox[]' id='checkbox' value='$rs[0]' />";
echo "
<td>$rs[0]</td>
";
echo "
<td>$rs[1]</td>
";
echo "
<td>$rs[2]</td>
";
echo "
<td>$rs[3]</td>
";
echo "
<td>$rs[4]</td>
";
echo "
<td><a href='edicion.php?cod=$rs[0]'>editar</td>
";
}
echo "
</tr>
";
}
//cuando aprieto el actualizar
if($_REQUEST['txtcodigo']){
$codigo=$_REQUEST['txtcodigo'];
$apellido=$_REQUEST['txtapellido'];
$nombre=$_REQUEST['txtnombre'];
$especialidad=$_REQUEST['txtespecialidad'];
$procedencia=$_REQUEST['txtprocedencia'];
$actualizar="update alumno set apealumno='$apellido',nomalumno='$nombre',idesp='$especialidad',PROCE='$procedencia' where idalumno='$codigo'";
mantenimiento($actualizar);
echo "
<script>location.href='edicion.php'</script>
";
}
if($_POST['button']){
foreach($_REQUEST['checkbox'] as $valor){
$consulta="delete from alumno where idalumno='$valor'";
mantenimiento($consulta);
echo "
<script>location.href='edicion.php'</script>
";
}
}
?>
</table>
</form>
</body>
</html>
*lo que hace este codigo es lo siguiente al cargarlo me muestra los registros de la tabla alumno
*cada fila(registro) contiene un check y la palabra editar
*cuando aprieto 'editar' los campos apellidos,nombre,especialida,proce se vuelven modificables para modificarlos ademas aparecen en la fila escogida las palabras ACTUALIZAR (que al apretar actualiza),REGRESAR(que al apretar regresa sin modificar)
Bueno esta aquí la cosa... Cuando aprieto 'editar' me debe salir un combo EN LA ZONA DE especialidad de la tabla con los registros de la tabla especialidad para escoger otro para ACTUALIZAR.. Como debería de hacerlo
*los check sirven para escoger lo que quiero eliminar en esta parte no tengo problemas
Nota :en el combo me debe salir los nombres de los registros no el codigo
Espero que me hayas entendido la explicación gracias por la atención
Respuesta de ditman
1
1 respuesta más de otro experto
Respuesta de Jorge Vila
1