Tema: opinion
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/04/2016, 03:57
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 11 meses
Puntos: 270
Respuesta: opinion

Cita:
Iniciado por RicardGTX Ver Mensaje
Hola chicos,
el siguiente codigo me funciona bien, pero creo que no es lo mas correcto.
El problema que veo es que hago dos consultas iguales para ingresar en dos tablas diferentes.
El primero ($insertar) lo hago para comprobar que no exista, si no existe le guardo.
El segundo ($insertar_2) lo hago para que vuelta a comprobar todos los registros de la tabla dibujos porque anterior he insertado uno nuevo con el primero ($insertar).

No se si es lo mas correcto esto.
Me he podido explicar bien ??

Código PHP:
Ver original
  1. $ver = mysql_query("SELECT * FROM artista");
  2.     $ver2 = mysql_num_rows($ver);
  3.    
  4.     if($ver2 == 0){
  5.        
  6.         $dibujo = mysql_query("SELECT * FROM dibujos WHERE dibujo='$id'");
  7.         $ver_dibujo = mysql_num_rows($dibujo);
  8.        
  9.         if($ver_dibujo == 0){
  10.             $insertar = mysql_query("INSERT INTO tags (dibujo) VALUES ('$di')");
  11.         }
  12.        
  13.         $dibujo = mysql_query("SELECT * FROM dibujos WHERE dibujo='$id'");
  14.         $todos = mysql_fetch_array($dibujo);
  15.         $insertar_2 = mysql_query("INSERT INTO arte (id_dibujo) VALUES ('$id')");
  16.    
  17.     }

saludos gracias
No entiendo casi nada de este código.
- Partiendo de que todo lo que hay en el if, no se ejecutará en cuanto haya 1 artista en la tabla (seguro que esto tiene que funcionar así??)
- Se re-ejecuta una query sin necesidad.No, no hay que volver a hacer la query porque has insertado un registro.Puedes perfectamente hacer el num_rows, luego el fetch_array, y después los 2 inserts.Las condicion por la que ejecutas el insert no cambia si haces el fetch_array.
- Se hace el fetch_array, pero no se usa para nada.