Buenas!! mas que todo es haber si alguien me puede decir como hacerlo!! la verdad estoy como confundido, tengo dos tablas una de archivos con campos entre ellos el (id) por supuesto y otra tabla documentos donde tiene un campo id_archivos que es foranea de archivos.
lo que tengo es lo siguiente, tengo un formulario donde yo coloco los datos del documento y funciona bien, igual el de subir archivos, como hago que a la hora de registrar el documento me quede con la id del archivo en la id_archivos? como los igualo?
Estas son las funciones:
Código PHP:
public function cargaArchivo(){
if(is_uploaded_file($_FILES['archivo']['tmp_name'])){
# Variables del archivo
$type = $_FILES["archivo"]["type"];
$tmp_name = $_FILES["archivo"]["tmp_name"];
$size = $_FILES["archivo"]["size"];
$nombre = basename($_FILES["archivo"]["name"]);
# Contenido del archivo
$fp = fopen($tmp_name, "rb");
$buffer = fread($fp, filesize($tmp_name));
fclose($fp);
$buffer = pg_escape_bytea($buffer);
$sql = "INSERT INTO archivos(nombre, descripcion, archivo_bytea, mime, size)
VALUES ('$nombre', '', '$buffer', '$type', $size)";
$result = $this->Bd->Execute($sql);
if ($this->Bd->ErrorNo() != 0)
{
echo $this->Bd->ErrorMsg();
return false;
}
$sql= "SELECT MAX(id) as id FROM archivos";
$result2 = $this->Bd->Execute($sql);
$archivo_id = $result2->fields['id'];
return true;
}}
public function RegistraDocumento(){
$sql = "INSERT INTO documentos (codigo_snei,titulo_principal, titulo_secundario,idioma, resumen,tipo_material,formato,derechos_autor, fecha_creacion, fecha_catalogacion, editorial,estado,[B]id_archivo[/B])
VALUES ('".$this->getCodigo_snei()."',
'".$this->getTitulo_principal()."',
'".$this->getTitulo_secundario()."',
'".$this->getIdioma()."',
'".$this->getResumen()."',
'".$this->getTipo_material()."',
'".$this->getFormato()."',
'".$this->getDerechos_autor()."',
'".$this->getFecha_creacion()."',
'".$this->getFecha_catalogacion()."',
'".$this->getEditorial()."',
'".$this->getEstado()."'
[B]aqui iria el id_archivo [/B]
)";
if($resultado = $this->Bd->Execute($sql)){
return true;
}else{
return false;
}
}