Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/07/2011, 13:56
Avatar de jlvo1990
jlvo1990
 
Fecha de Ingreso: enero-2010
Ubicación: Piura
Mensajes: 8
Antigüedad: 14 años, 10 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