Hola que tal aqui les dejo un pequeño ejemplo sobre el uso del select con multiples selecciones:
Bien para empezar debemos de crear la BD a la cual la vamos a denominar Sisteduvirtual:
/*script*/
create database Sisteduvirtual
go
/*fin de la creación de la BD*/
Ahora pasamos a crear las tablas que en este ejemplo son dos: Curso y pre_requisito
/*crear tabla curso*/
CREATE TABLE `curso` (
`idcurso` int(11) NOT NULL auto_increment,
`nombre` varchar(50) character set utf8 collate utf8_spanish2_ci NOT NULL,
`descripcion` varchar(50) character set utf8 collate utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`idcurso`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
/*crear tabla pre_requisito*/
CREATE TABLE `pre_requisito` (
`idcurso` int(11) NOT NULL,
`idcursore` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
Bien para empezar debemos de crear la BD a la cual la vamos a denominar Sisteduvirtual:
/*script*/
create database Sisteduvirtual
go
/*fin de la creación de la BD*/
Ahora pasamos a crear las tablas que en este ejemplo son dos: Curso y pre_requisito
/*crear tabla curso*/
CREATE TABLE `curso` (
`idcurso` int(11) NOT NULL auto_increment,
`nombre` varchar(50) character set utf8 collate utf8_spanish2_ci NOT NULL,
`descripcion` varchar(50) character set utf8 collate utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`idcurso`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
/*crear tabla pre_requisito*/
CREATE TABLE `pre_requisito` (
`idcurso` int(11) NOT NULL,
`idcursore` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
Bien ahora vamos a crear el archivo de conección de la BD (conexion.php)
function conectarse()
{
if (!($link = mysql_connect("127.0.0.1","root","clave")))
{
echo"Error conectado a la Base de Datos";
exit();
}
if (! mysql_select_db("sisteduvirtual",$link))
{
echo"Error seleccionando Base de Datos";
exit();
}
return $link;
$link=conectarse();
}
?>
Una vez hecho todos esto vamos a crear nuestro formulario en el que se incluye 4 input type=text,un select multiple="multiple" y un input type="submit" y lo denominamos index.php
include ("conexion.php");
$link = conectarse ();
//******
//**Realizamos la consulta para llenar nuestro select
$sqlrequi="SELECT c.idciclo,c.idcurso, c.nombre AS nombre, c.descripcion as curso,cic.ciclo,cic.descripcion FROM credito_curso cre INNER JOIN curso c ON c.idcredito = cre.idcredito INNER JOIN ciclo cic ON cic.idciclo = c.idciclo INNER JOIN escuela e ON e.idescuela = cic.idescuela order by cic.ciclo,nombre";
$resultrequi=@mysql_query($sqlrequi);
?>
Ahora procedemos a crear el archivo grabar.php//**** incluimos al archivo de coneccióninclude ("conexion.php");
$link = conectarse ();
//******
$sql = "INSERT INTO curso (nombre, descripcion) VALUES ('".$_POST["nom"]."', '".$_POST["des"]."')";
$result = mysql_query ($sql);
?>
//capturamos id para enlazar curso con su pre-requisito
$consulta='select * from curso order by idcurso desc limit 1';
$c=mysql_query($consulta);
while($rowc=@mysql_fetch_array($c)){
$id=$rowc['idcurso'];
}
//usamos un foreach para recorrer el arreglo( valores de nuestro select y guardarlos en la tabla pre_requisitoif(isset($_POST['pr'])){
foreach( $_POST['pr'] as $prereq ) {
echo $prereq;
$sqli="insert into pre_requisito(idcurso,idcursore) values($id,'$prereq')";
$resulti=mysql_query($sqli);
}
}
else{
foreach( $_POST['pr'] as $prereq ) {
echo $prereq;
$sqli="insert into pre_requisito(idcurso,idcursore) values($id,'$prereq')";
$resulti=mysql_query($sqli);
}
}?>
Y asi hemos llegado al final de este pequeño ejemplo espero que les sirva de mucho
Gracias por este magnífico ejemplo espero que sigas publicando más cosas
ResponderEliminarPor favor publica la tabla faltante
ResponderEliminarPodria publicar la tabla credito_curso por favor
ResponderEliminarEs simple la tabla credito_curso tiene los id de la tabla curso y el id de la tabla credito:
Eliminar