Foros del Web » Programando para Internet » PHP »

ayuda con "relacionar tablas"

Estas en el tema de ayuda con "relacionar tablas" en el foro de PHP en Foros del Web. hola a todos la verdad es que me estoy iniciando en php y mysql y tengo un problema el que espero me puedan ayudar a ...
  #1 (permalink)  
Antiguo 24/02/2009, 13:51
 
Fecha de Ingreso: febrero-2009
Mensajes: 3
Antigüedad: 15 años, 2 meses
Puntos: 0
ayuda con "relacionar tablas"

hola a todos la verdad es que me estoy iniciando en php y mysql y tengo un problema el que espero me puedan ayudar a resolver.

les cuento.

estoy creando una base de datos y necesito relacionar tablas.
les planteare mi problema de manera concreta.
tengo:

tabla1.cargos con la PK id_cargos
tabla2.postulante con la PK id_postulante
tabla3.id_cargo_id_postulante con sus campos ID_cargo (que es FK referida del campo ID_cargo de la tabla1.cargos) y ID_postulante (que es FK referida del campo ID_postulante de la tabla2.postulante).

los registros de la tabla1.cargos ya estan ingresados y los veo atravez de un combobox en el formulario donde ingreso a los postulantes (la informacion que rescato en el combobox es el nombre del cargo).

ahora lo que quiero es que el id_cargo del registro que selecciono atravez del combobox se guarde en la tabla3.id_cargo_id_postulante
en el campo id_cargo y que el id que se acaba de generar por los datos que estoy guardando en la tabla2.postulantes se guarde en la misma linea en el campo ID_postulante de la tabla3.id_cargo_id_postulante.

esop.

ya logro dejar flotando el id del postulante con mysql_insert_id()
pero no logro grabarlo en la tabla3.

les adjunto mi codigo:


Código PHP:
<?php
    $conexion
=(mysql_connect("localhost""xxx""xxx"));
                   
mysql_select_db("xxx");

    
$sql=("select nom_cargo from cargos ORDER BY nom_cargo ASC");

    
$result=mysql_query("$sql",$conexion) or die(mysql_error());?>
<table>
<tr><td><strong><font color="#0174DF" size="2">asd</font></strong>
</td></tr>
<tr>
<td>
<?
while($row=mysql_fetch_array($result))
$s=$row["nom_cargo"];
$d=$row["nom_cargo"]; ?>
<option value="<? echo $s?>">
<? echo $d?>
</option>
<? ?>
<?php
mysql_close
($conexion);
?>
</select>
</td>

    
</table>
            
                <?php 
if ($enviar) {
   
// process form
    
$link mysql_connect("localhost""xxx""xxx");
   
mysql_select_db("xxx");
   
$sql "INSERT INTO `flujo`.`postulantes` (`id_postulante` ,`rut` ,`nombre` ,`a_paterno` ,`a_materno` ,`profesion` ,`fono_fijo` ,`fono_movil` ,`email` ,`fecha_evaluacion` ,`p_renta` ,`fortalezas` ,`devilidades` ,`comentarios`
)
VALUES (
NULL , '$rut', '$nombre', '$a_paterno', '$a_materno', '$profesion', '$fono_fijo', '$fono_movil', '$email', '$fecha_evaluacion', '$p_renta', '$fortalezas', '$devilidades', '$comentarios'
)"
;
      
$result mysql_query($sql);
      
printf("El ultimo registro incertado es el id Nº %d\n"mysql_insert_id());
   
   echo 
"<hr>";
   echo 
"¡Gracias! Hemos recibido sus datos.\n"
}else{
?> 



<form method="post" action="agregar_postulantes.php">    
<table>
<tr><strong><font color="#0174DF" size="2">Antecedentes Personales</font></strong></tr>
    <tr>
    <td valing="top">
    <label><font size="1">Nombre:</font></label>
    <input type=”text” name="nombre" size="34" class="estilo-imput">
    </td>
    <td valing="top">
    <label><font size="1">Rut:</font></label>
    <input type=”text” name="rut" size="10" class="estilo-imput">
    </td>
    </tr>
    <tr><td valing="top">    
    <label><font size="1">Apellidos:</font></label>
    <input type=”text” name="a_paterno" size="15" class="estilo-imput">
    <input type=”text” name"a_materno" size="15" class="estilo-imput">
    </td>
    <td valing="top">
    <label><font size="1">Profesion:</font></label>
    <input type=”text” name="profesion">
    </td>
    </tr>
    <tr><td><strong><font color="#0174DF" size="2">Información De Contacto</font></strong></td></tr>
    <tr>
    <td valing="top">
    <label><font size="1">Telefono Fijo:</font></label>
    <input type=”text” name="fono_fijo" size="10" class="estilo-imput">
    </td>
    <td valing="top">
    <label><font size="1">Telefono Movil:</font></label>
    <input type=”text” name="fono_movil" size="10" class="estilo-imput">
    </td>
    </tr>
    <tr>
    <td valing="top">
    <label><font size="1">E-Mail:</font></label>
    <input type=”text” name="email" size="34" class="estilo-imput">
    </td>
    </tr>
    <tr><td><strong><font color="#0174DF" size="2">Información De La Evaluación</font></strong></td></tr>
    <tr>
    <td valing="top">
    <label><font size="1">Fecha De Evaluación:</font></label>
    <input type=”text” name="fecha_evaluacion">
    </td>
    <td valing="top">
    <label><font size="1">Pretención De Renta:</font></label>
    <input type=”text” name="p_renta">
    </td>
    </tr>
    <tr>
    <td valing="top">
    <label><font size="1">Fortalezas:</font></label>
    <textarea type=”text” name=”fortalezas”></textarea>
    </td>
    </tr>
    <tr>
    <td valing="top">
    <label><font size="1">Devilidades:</font></label>
    <textarea type=”text” name=”devilidades”></textarea>
    </td>
    </tr>
    <tr>
    <td valing="top">
    <label><font size="1">Comentarios:</font></label>
    <textarea type=”text” name=”comentarios”>Ingrese sus Comentarios</textarea>
    </td>
    </tr>
    </table>
    <input type="Submit" name="enviar" value="Aceptar información">
      </p>

    </form>    
                    

                        
              </div> 
<?php 
    
//end if 
?>
  #2 (permalink)  
Antiguo 24/02/2009, 14:28
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: ayuda con "relacionar tablas"

El problema es que tienes el combo de cargos fuera del formulario, ponlo dentro de éste y luego al realizar el insert en postulantes
$id_postulantes=mysql_insert_id();

Ahora podras realizar el insert en la tabla 3 con el $id_postulantes recien generado y el id de cargo lo obtienes del formulario del combo de cargos
Aunque al combo le falta codigo para que se lo identifique
Código HTML:
<select name="cargos">
  <option>
    //generado por php
  </option>
</select> 
Ahora si
insert into tabla3
$_POST[cargos]
tendrá el id que fue generado en php
  #3 (permalink)  
Antiguo 25/02/2009, 06:36
 
Fecha de Ingreso: febrero-2009
Mensajes: 3
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: ayuda con "relacionar tablas"

gracias por la ayuda voy a probar y te cuento
  #4 (permalink)  
Antiguo 26/02/2009, 10:52
 
Fecha de Ingreso: febrero-2009
Mensajes: 3
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: ayuda con "relacionar tablas"

segui tus recomendaciones pero aun asi no lo he logrado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:06.