Foros del Web » Programando para Internet » PHP »

lenar 2 tablas con el id de una

Estas en el tema de lenar 2 tablas con el id de una en el foro de PHP en Foros del Web. hola amigos de forosdelweb, mi pregunta es la siguiente tengo una tabla productos, la cual contiene como llave foranea el "ID_FOTO" la cual es la ...
  #1 (permalink)  
Antiguo 02/05/2011, 11:25
 
Fecha de Ingreso: abril-2011
Ubicación: 2º luna de Urano
Mensajes: 43
Antigüedad: 13 años
Puntos: 1
Pregunta lenar 2 tablas con el id de una

hola amigos de forosdelweb, mi pregunta es la siguiente tengo una tabla productos, la cual contiene como llave foranea el "ID_FOTO" la cual es la llave primaria de la tabla foto, lo que quiero es que cuando de de alta una nueva foto el id que se genera automaticamente en la tabla dfoto pase a la tabla productos, tengo mi sentencia pero solo guarda la foto y no manda nada a la tabla productos.
les dejo mi codigo, espero y agradesco de antemano sy ayuda

Código PHP:
<?php
session_start
();
$nombre=$_POST['nombre'];
$nameimagen=$_FILES['imagen']['name'];
$tmpimagen=$_FILES['imagen']['tmp_name'];
$extimagen=pathinfo($nameimagen);
$urlnueva "imagenes/".$nameimagen;

if(
is_uploaded_file($tmpimagen)) {
            
copy($tmpimagen,$urlnueva);
            
mysql_connect("192.9.201.189","root","admindb");
            
mysql_select_db("test");
            
$result mysql_query("insert into foto(nombre, fotografia) VALUES('$nombre','$urlnueva')");
            
$last_id mysql_insert_id();
            
mysql_query("insert into productos(ID_FOTO) values('1') where '$nombre' like codigo% ");    
            echo 
"imagen subida con exito";        
            
// header("location:foto_admin.php");
} else {
    echo 
"Elija una imagen";
}

?>
  #2 (permalink)  
Antiguo 02/05/2011, 11:44
Avatar de Sotelio  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Chile
Mensajes: 68
Antigüedad: 12 años, 11 meses
Puntos: 21
Respuesta: lenar 2 tablas con el id de una

Hola

La sentencia SQL que propones está incorrecta.

Primero, realizas bien la conexión, la selección de la base de datos y el insert en la tabla fotos, pero luego haces otro insert y mezclas sql de "consulta" con sql de inserción.

insert into productos(ID_FOTO) values('1') where '$nombre' like codigo%

Esto debe ser sólo
insert into productos(ID_FOTO) values('$last_id');

Luego la variable $nombre y $codigo no sé que es lo que representan.

Suerte
Sotelio
  #3 (permalink)  
Antiguo 02/05/2011, 12:39
 
Fecha de Ingreso: abril-2011
Ubicación: 2º luna de Urano
Mensajes: 43
Antigüedad: 13 años
Puntos: 1
De acuerdo Respuesta: llenar 2 tablas con el id de una

perdon el codigo que puse esta mal, eran pruebas que estaba haciendo, este es el codigo:
Código PHP:
<?php
session_start
();
$nombre=$_POST['nombre'];
$nameimagen=$_FILES['imagen']['name'];
$tmpimagen=$_FILES['imagen']['tmp_name'];
$extimagen=pathinfo($nameimagen);
$urlnueva "imagenes/".$nameimagen;

if(
is_uploaded_file($tmpimagen)) {
            
copy($tmpimagen,$urlnueva);
            
mysql_connect("192.9.201.189","root","admindb");
            
mysql_select_db("test");
            
$result mysql_query("insert into foto(nombre, fotografia) VALUES('$nombre','$urlnueva')");
            
$last_id mysql_insert_id();
            
mysql_query("insert into productos(ID_FOTO) values('$last_id')");    
            echo 
"imagen subida con exito";        
            /
header("location:foto_admin.php");
} else {
    echo 
"Elija una imagen";
}

?>
de antemano gracias por su ayuda
  #4 (permalink)  
Antiguo 02/05/2011, 12:51
Avatar de Sotelio  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Chile
Mensajes: 68
Antigüedad: 12 años, 11 meses
Puntos: 21
Respuesta: lenar 2 tablas con el id de una

Prueba esto:

mysql_query("insert into productos(ID_FOTO) values('$last_id')") or die(mysql_error());

Y ve si aparece algún error.

Sotelio
  #5 (permalink)  
Antiguo 02/05/2011, 14:23
 
Fecha de Ingreso: abril-2011
Ubicación: 2º luna de Urano
Mensajes: 43
Antigüedad: 13 años
Puntos: 1
Respuesta: lenar 2 tablas con el id de una

de antemano te agradesco mucho Sotelio por tu tiempo, me arroja el siguiente error:

Field 'CODIGO' doesn't have a default value

tienes idea del ¿porque?
  #6 (permalink)  
Antiguo 02/05/2011, 17:09
 
Fecha de Ingreso: mayo-2011
Mensajes: 13
Antigüedad: 12 años, 11 meses
Puntos: 1
De acuerdo Respuesta: lenar 2 tablas con el id de una

hola ciber amigo haber si te entendi ejemplo.

tengoa una base de datos: colegio
dos tablas:
-alumnos (id_alumno, nombre, direccion, telefono)
-calificaciones (id_calificaciones, parial1, parcial2, parcial3, promedio, id_almno, nombre)


tengo:


dbConex.php

tengo un formulario.php, con un campo de texto y un boton agregar y codigo insertar.php



cuando inserto el nombre, el parcial1 y parcial2 se guardan en la tablas respectivas como: el nombre en la tabla alumnos, los parciales y el nombre en la tabla calificaciones.

ALUMNO CALIFICACIONES
------------------------- -----------------------------
genaro = genaro
id_alumno ¿?
parial1
parcial2

te dejo es codigo haber si te sirve. ckequea los codigos

dbConex.php

Código PHP:
<?

function abrirConexion ()
{
     
$dbConex mysql_connect("localhost","root","mysql");
      if (! 
$dbConex)
      {
          echo 
"Imposible Conectar";
          exit;          
      }
     
mysql_select_db("bdatos_tomas"$dbConex);
     return 
$dbConex;
}

function 
cerrarConexion ($dbConex) {
mysql_close($dbConex);
}
      

?>


formulario.php


Código PHP:
<form id="form1" name="form1" method="post" action="Insertar.php">
  <
table width="339" border="0" cellpadding="1" cellspacing="1">
    <
tr>
      <
td width="160" bgcolor="#CCCCCC">Agregar nombre </td>
      <
td width="124">
        <
input name="apell_nom" type="text" id="apell_nom" size="20" />
      </
td>
    </
tr>
  </
table><br>
  
Parciales 
  
<ul>
  <
li>parcial 1:
    <
input name="parcial1" type="text" id="parcial1" size="2" />
</
li>
  
  <
li>paricla 2
    
<input name="parcial2" type="text" id="parcial2" size="2" />
  </
li>
  </
ul>
  <
p align="center"><input name="submit" type="submit" id="submit" value="Enviar" />
  </
p>
</
form

insertar.php


Código PHP:
<?
include_once("dbConex.php");
$dbConex=abrirConexion();
$apell_nom=$_POST["apell_nom"];
$parcial1=$_POST["parcial1"];
$parcial2=$_POST["parcial2"];


function 
execute($apell_nom$parcial1$parcial2)
{
$q1"INSERT INTO alumnos (apell_nom) values ('$apell_nom')";
$resultquery mysql_query($q1);
$errores mysql_errno();

$q2"INSERT INTO calificaciones (apell_nom, parcial1, parcial2) values ('$apell_nom','$parcial1','$parcial2')";
$resultquery mysql_query($q2);
$errores $errores mysql_errno();
return 
$errores;
}

$result execute($apell_nom$parcial1$parcial2);

if (
$result == 0) {
echo 
"Todo Ok";

else
{
echo 
mysql_error(); 
}  



?>


<input type="button" value="Volver" title="Volver al formulario" onClick="history.back();" />


Etiquetas: tablas
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 13:18.