estoy haciendo un formulario para publicar textos. En la base de datos tengo dos tablas creadas:
historia_cap -> los capítulos generales (id, nombre)
historia_subcap -> los subcapítulos de texto (id, id_capitulo, titulo, cuerpo, fecha)
En el select lo que hago es recoger los valores de id y nombre de los capítulos generales. Las opciones del select me cargan bien pero el código al final no me funciona correctamente, ya que se introducen todos los valores bien en la base de datos menos el referente al select. Dejo aqui el código a ver si veis la solucion:
Código PHP:
<?php
//conectamos con la base de datos
include("../inc/conectardb.php");
//definimos las variables
$id = $_SESSION['id'];
$submit = $_POST['submit'];
if($submit)
{
//Definimos las entradas de texto
$titulo = $_POST['titulo'];
$cuerpo = $_POST['cuerpo'];
if($titulo&&$cuerpo)
{
$fecha = date("Y-m-d");
//Introducimos los datos en la tabla historia_subcap
$sql2 = mysql_query("INSERT INTO historia_subcap VALUES ('','$id_cap','$id','$titulo','$cuerpo','$fecha')");
echo "El subcapítulo se ha creado correctamente!";
}
else
{
echo "Debes introducir un nombre al capítulo y un contenido!";
}
}
else
{
echo "
<h2>Crea un subcapítulo</h2>
<hr>
<form action='index.php?contenido=historia/crear_subcap' method='post'>
<p>Selecciona el capítulo donde agregar una nueva historia: <br>
<select name='capitulo[]'>
<option selected value=''>-- Capitulo --</option>
";
//Conectamos con la tabla historia_cap para recuperarlos
$sql1 = mysql_query("SELECT id, nombre FROM historia_cap ORDER BY id") or die(mysql_query());
while ($row = mysql_fetch_array($sql1))
{
$id_cap = $row['id'];
$nombre = $row['nombre'];
echo "<option value='$id_cap'>$nombre</option>";
}
echo "
</select></p>
<p>Nombre: <br><input type='text' name='titulo'></p>
<p>Contenido: <br><textarea name='cuerpo'></textarea></p>
<input type='submit' name='submit' value='Crear Subcapítulo'>
<input type='hidden'>
</form>
<hr>
";
}
?>