03/07/2011, 13:56
|
| | | Fecha de Ingreso: enero-2010 Ubicación: Piura
Mensajes: 8
Antigüedad: 14 años, 11 meses Puntos: 0 | |
Introducir datos en una tabla relacionada con varias tablas hola estoy deesarrollando un pequeño sistema pero tengo una duda a la hora de insertar datos desde unformulario php
mis tablas son administraddor, especialidad, sexo, estado_civil sexo
id_sexo int(10),
nombrevarchar(10) especialidad
id_especialidad int(10),
nombre varchar(80) estado_civil
id_estadocivil int(10)
nombre varchar(60) administrador
id_admin int(10)
id_sexo int(10)
id_especialidad int(10)
id_estadocivil int(10)
nombre varchar(60)
apellido varchar(60)
foto varchar(80)
como ven la tabla administrador contiene los id del resto de las tablas conexion.php
<?php
function Conectarse()
{
if (!($link=mysql_connect("localhost","root","")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("matricula",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
$link=Conectarse();
echo "Conexión con la base de datos conseguida.<br>";
//mysql_close($link); //cierra la conexion
?> formulario php
dentro del formulario php coloco los combobox que contienen los datos de las otras tablas haciendo una consulta a la base de datos
<form method="post" enctype="multipart/form-data" name="form1" id="form1">
<label class="la">Especialidad:</label>
<select name="especialidad">
<option value="null">Escoger</option>
<?php
include_once('conexion/conexion.php');
$result = mysql_query("SELECT * FROM especialidad");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo '<option value="'.$row["id"].'">'.$row["nombre"].'</option>';
}
mysql_free_result($result);
?>
</select>
<label for="observaciones" class="la">Sexo:</label>
<select name="sexo">
<option value="null">Escoger</option>
<?php
include_once('conexion/conexion.php');
$result = mysql_query("SELECT * FROM sexo");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo '<option value="'.$row["idSexo"].'">'.$row["Descripcion"].'</option>';
}
mysql_free_result($result);
?>
</select>
<label for="observaciones" class="la">Estado Civil:</label>
<select name="estado_civil">
<option value="null">Escoger</option>
<?php
include_once('conexion/conexion.php');
$result = mysql_query("SELECT * FROM estado_civil");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo '<option value="'.$row["idestado_civil"].'">'.$row["Descripcion"].'</option>';
}
mysql_free_result($result);
?>
</select>
<label for="observaciones" class="la">Nombres:</label>
<input type="text" name="txtnombre" id="txtnombre" />
<label for="observaciones" class="la">Apellidos:</label>
<input name="txtapellido" type="text" id="txtapellido" />
<label for="observaciones" class="la">Foto:</label>
<input type="file" name="filfoto" id="filfoto" />
<input type="submit" name="btnregistrarse" id="btnregistrarse" value="Registrarse" class="boton" /> codigo utilizado para insertar
<?php
if((empty($_POST['txtapellido']))and(empty($_POST['txtnombre']))and(empty($_FILES['filfoto'] ['name']))and(empty($_POST['especialidad'])) and(empty($_POST["sexo"]))and(empty($_POST["estado_civil"])))
{
echo "<script>window.alert('debe ingresar todos los datos')</script>";
}
else
{
include_once('conexion/conexion.php');
if(Conectarse())
{
move_uploaded_file($_FILES['filfoto']['tmp_name'], dirname($_SERVER['SCRIPT_FILENAME'])."/fotos/".$_FILES['filfoto']['name']);
$sql="INSERT INTO administrador VALUES('','".$_POST['especialidad']."','".$_POST['sexo']."','".$_POST['estado_civil']."','"..$_POST['txtnombre']."','".$_POST['txtapellido']."','".$_FILES['filfoto']['name']."')";
$ejecutar_sql=mysql_query($sql);
if(mysql_affected_rows())
{
$msj="Trabajador registrado correctamente en la base de datos";
}
else
{
$msj="No se pudo registrar el nuevo trabajador";
}
echo "<script>window.alert('".$msj."')</script>";
}
}
?>
</form>
cuando lo ejecuto me sale el mensaje Trabajador registrado correctamente en la base de datos pero cuando verifico la base de datos no tiene nada y la foto si la copia a la ruta especifica gracias a todos por sus respuestas |