Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2015, 00:01
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 8 meses
Puntos: 65
Subir noticia e imágenes a distintas tablas en el mismo envío.

Hola.

Estoy haciendo pruebas con un sistema de noticias en php donde tengo por un lado la tabla noticias y por otro la tabla imágenes, las cuales van relacionadas por el id_noticia.

Noticias
----------
id_noticia
titulo
descripcion

Imagenes
-------------
id_imagen
imagen
id_noticia

En el formulario de envío he preparado la consulta enviar noticia y cuando compruebo si esta se ha enviado correctamente a la vez que hago el envío de la imagen a la tabla imagen recogiendo el id_noticia de la noticia que acabo de enviar.

Código PHP:
Ver original
  1. <?php
  2. //Preparo la consulta a la base de datos
  3. //Enviar la noticia.                           
  4. $enviar_noticia="Insert into noticias (titulo,descripcion) values ('$titulo', '$descripcion')";
  5. //Ejecuto enviar noticias
  6. $ejecutar_enviar_noticia=mysql_query($enviar_noticia);
  7. //Si la noticia no se envía muestro error.
  8. if(!$ejecutar_enviar_noticia)
  9. {
  10.     echo "La noticia no se ha podido enviar. " . mysql_error();
  11. }
  12. else//Si la noticia se envía
  13. {                              
  14.     //Preparo la consulta para saber el id_noticia de la noticia enviada.
  15.     $c_id_noticia_enviada="Select id_noticia from noticias ORDER BY id_noticia DESC limit 1";
  16.     $e_id_noticia_enviada= mysql_query($c_id_noticia_enviada);
  17.     //Aquí la duda de recoger el último id enviado
  18.     while ($fila=mysql_fetch_array($e_id_noticia_enviada)) {
  19.         //echo "El id_noticia recien enviado o último es: " .$fila['id_noticia'];
  20.         $id_noticia_i = $fila['id_noticia'];
  21.         //Preparo la consulta para enviar la imagen con el id_noticia recien enviado.
  22.         $enviar_imagen="Insert into imagenes (imagen, id_noticia) values ('$nombre_imagen1', '$id_noticia_i')";
  23.         //Ejecuto enviar imagen a la tabla imágenes.
  24.         $ejecutar_enviar_imagen=mysql_query($enviar_imagen);
  25.         if(!$ejecutar_enviar_imagen)
  26.         {
  27.             echo "La imagen no se ha podido enviar. " . mysql_error();
  28.         }
  29.         else
  30.         {
  31.             echo "La imagen ha sido enviada correctamente.";                                       
  32.         }  
  33.     }// Fin Aquí la duda de recoger el último id enviado           
  34. }//Fin Si la noticia se envía              
  35. ?>

¿Es esa la manera correcta de recoger enviar a la vez el id_noticia recien enviado o no es muy fiable?

Saludos.