Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/12/2009, 13:23
darenas19
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Mostrar datos

Crear tablas, campos y relaciones.
Código:
CREATE TABLE Postulante (
  COD_Postulante INTEGER UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  DSC_Nombre VARCHAR(255) NULL,
  NUM_DNI INTEGER UNSIGNED NULL,
  DSC_Nacimiento DATE NULL,
  DSC_Estado_Civil VARCHAR(255) NULL,
  NUM_Telefono VARCHAR(255) NULL,
  NUM_Celular VARCHAR(255) NULL,
  DSC_Direccion VARCHAR(255) NULL,
  DSC_Distrito VARCHAR(255) NULL,
  DSC_Email VARCHAR(255) NULL,
  DSC_LabAntMakro VARCHAR(255) NULL,
  DSC_Pretenciones VARCHAR(255) NULL,
  FCH_Postulacion DATE NULL,
  PRIMARY KEY(COD_Postulante)
);

CREATE TABLE Trabajo (
  COD_Trabajo INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  Postulante_COD_Postulante INTEGER UNSIGNED ZEROFILL NOT NULL,
  DSC_Empresa VARCHAR(255) NULL,
  DSC_Rubro VARCHAR(255) NULL,
  DSC_Puesto VARCHAR(255) NULL,
  DSC_FchInicio VARCHAR(255) NULL,
  DSC_FchFin VARCHAR(255) NULL,
  DSC_Remun VARCHAR(255) NULL,
  PRIMARY KEY(COD_Trabajo, Postulante_COD_Postulante),
  INDEX Trabajo_FKIndex1(Postulante_COD_Postulante),
  FOREIGN KEY(Postulante_COD_Postulante)
    REFERENCES Postulante(COD_Postulante)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);

CREATE TABLE Estudio (
  COD_Estudio INTEGER UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  Postulante_COD_Postulante INTEGER UNSIGNED ZEROFILL NOT NULL,
  DSC_Estudio VARCHAR(255) NULL,
  DSC_IniEstudio VARCHAR(255) NULL,
  DSC_FinEstudio VARCHAR(255) NULL,
  PRIMARY KEY(COD_Estudio, Postulante_COD_Postulante),
  INDEX Estudio_FKIndex1(Postulante_COD_Postulante),
  FOREIGN KEY(Postulante_COD_Postulante)
    REFERENCES Postulante(COD_Postulante)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);
Script para insertar los datos a la BD
Código PHP:
<?php

mysql_connect
('xxxxxxxxxxx','xxxxxxxx','xxxxxxxxxxx') or die("Could not connect to mysql server: " mysql_error());
mysql_select_db('makro_rrhh');

//Variables Postulante
//--------------------
$strNome $_POST['strNome'];
$strDNI $_POST['strDNI'];

$strDiaNac $_POST['cboDiaNac'];
$strMesNac $_POST['cboMesNac'];
$strAnioNac $_POST['cboAnioNac'];
$strFechNac $strDiaNac."/".$strMesNac."/".$strAnioNac;

$strEstadoCivil $_POST['cboEstCivil'];
$strTelefonos $_POST['strTelefonos'];
$strCelular $_POST['strCelular'];
$strDireccion $_POST['strDireccion'];
$strDistrito $_POST['strDistrito'];
$strEmail $_POST['strEmail'];
$strTipoLaboradoMakro $_POST['strTipoLaboradoMakro'];
$strTipoMonedaPr $_POST['cboTipoMonedaPr'];
$strPretensiones $strTipoMonedaPr." ".$_POST['strPretensiones'];
$strFechaPost $_POST['strFechaPost'];

$sqlP="INSERT INTO Postulante (DSC_Nombre,NUM_DNI,DSC_Nacimiento,DSC_Estado_Civil,NUM_Telefono,NUM_Celular,DSC_Direccion,DSC_Distrito,DSC_Email,DSC_LabAntMakro,DSC_Pretenciones,FCH_Postulacion) VALUES ('$strNome','$strDNI','$strFechNac','$strEstadoCivil','$strTelefonos','$strCelular','$strDireccion','$strDistrito','$strEmail','$strTipoLaboradoMakro','$strPretensiones','$strFechaPost')";
mysql_query($sqlP) or die("Cannot execute query: " mysql_error());

// obtenemos el valor id
$idPostulante mysql_insert_id();


//Variables Estudio
//-----------------

foreach ($_POST as $Campo => $Valor)
{
    if (
strpos($Campo,"strEstudio") === 0)
    {
        
$Index substr($Campo,11);
        
$strTipoEstudio $_POST['cboTipoEstudio_'.$Index];
        
$strEstudio $_POST['strEstudio_'.$Index];
        
$strIniMesEst $_POST['cboIniMesEst_'.$Index];
        
$strIniAnioEst $_POST['cboIniAnioEst_'.$Index];
        
$strFinMesEst $_POST['cboFinMesEst_'.$Index];
        
$strFinAnioEst $_POST['cboFinAnioEst_'.$Index];
        
$strIniEstudio $strIniMesEst."/".$strIniAnioEst;
        
$strFinEstudio $strFinMesEst."/".$strFinAnioEst;

        
$sqlE="INSERT INTO Estudio (Postulante_COD_Postulante,DSC_T_Estudio,DSC_Estudio,DSC_IniEstudio,DSC_FinEstudio) VALUES ('$idPostulante','$strTipoEstudio','$strEstudio','$strIniEstudio','$strFinEstudio')";
        
mysql_query($sqlE);
    }
    elseif (
strpos($Campo,"strNomeEmpresa") === 0)
    {
        
$Index substr($Campo,15);
        
$strNomeEmpresa $_POST['strNomeEmpresa_'.$Index];
        
$strRubro $_POST['strRubro_'.$Index];
        
$strArea $_POST['strArea_'.$Index];
        
$strPuestoDesempenado $_POST['strPuestoDesempenado_'.$Index];
        
$strIniMesTrab $_POST['cboIniMesTrab_'.$Index];
        
$strFinMesTrab $_POST['cboFinMesTrab_'.$Index];
        
$strIniAnioTrab $_POST['cboIniAnioTrab_'.$Index];
        
$strFinAnioTrab $_POST['cboFinAnioTrab_'.$Index];
        
$strTipoMoneda $_POST['cboTipoMoneda_'.$Index];
        
$strRemuneracion $strTipoMoneda." ".$_POST['strRemuneracion_'.$Index];
        
$strIniTrabajo $strIniMesTrab."/".$strIniAnioTrab;
        
$strFinTrabajo $strFinMesTrab."/".$strFinAnioTrab;

        
$sqlT="INSERT INTO Trabajo (Postulante_COD_Postulante,DSC_Empresa,DSC_Rubro,DSC_Area,DSC_Puesto,DSC_FchInicio,DSC_FchFin,DSC_Remun) VALUES ('$idPostulante','$strNomeEmpresa','$strRubro','$strArea','$strPuestoDesempenado','$strIniTrabajo','$strFinTrabajo','$strRemuneracion')";
        
mysql_query($sqlT);
    }
}


echo 
"Los datos han sido introducidos satisfactoriamente.<br/>";
echo 
$strNome." Gracias por portular a Makro Supermayorista S.A.<br/>";
echo 
"Pronto nos pondremos en contácto con Ud.";

mysql_close();

?>

Y mi consulta para seleccionar seria..(seguro no se llega a apreciar bien, pero funciona correctamente, si hay espacios o algo es por tema visual)

Código:
SELECT COD_Postulante 'Código Postulante', DSC_Nombre 'Nombre',
NUM_DNI 'DNI', DSC_Nacimiento 'Fecha De Nacimiento', DSC_Estado_Civil 'Estado
Civil', NUM_Telefono 'Teléfono', NUM_Celular 'Celular', DSC_Direccion 'Dirección',
DSC_Distrito 'Distrito', DSC_Email 'Email', DSC_LabAntMakro 'Laborado Antes Makro',
DSC_Pretenciones 'Pretensiones', FCH_Postulacion 'Fecha Postulación',
DSC_T_Estudio 'Tipo De Estudio', DSC_Estudio 'Centro De Estudio',
DSC_IniEstudio 'Inicio De Estudio', DSC_Empresa 'Nombre Empresa',
DSC_Rubro 'Rubro De Empresa', DSC_Area 'Area', DSC_Puesto 'Puesto',
DSC_FchInicio 'Inicio De Trabajo', DSC_FchFin 'Fin De Trabajo',
DSC_Remun 'Remuneración' FROM Postulante AS P INNER JOIN Estudio AS E ON
P.`COD_Postulante` = E.`Postulante_COD_Postulante` INNER JOIN Trabajo T ON
P.`COD_Postulante` = T.`Postulante_COD_Postulante` ";

Si necesitan de algo más para poder ayudarme estaré al pendiente

Última edición por darenas19; 29/12/2009 a las 14:34 Razón: Datos confidenciales