Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2012, 10:44
fercho17
 
Fecha de Ingreso: diciembre-2012
Mensajes: 1
Antigüedad: 11 años, 4 meses
Puntos: 0
Exclamación Igualar llave primaria con foranea!!

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($fpfilesize($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;
        }    
        }