Mostrando entradas con la etiqueta combo de selección multiple en php. Mostrar todas las entradas
Mostrando entradas con la etiqueta combo de selección multiple en php. Mostrar todas las entradas

jueves, 3 de septiembre de 2009

Grabar datos del Select multiple en php y mysql

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 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