Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Como comparar antes de ingresar registros

Estas en el tema de Como comparar antes de ingresar registros en el foro de Mysql en Foros del Web. Bien, estoy con un sistema de tags, los tags los ingreso mediante un input separado por comas, quiero que se ingrese un tag solo si ...
  #1 (permalink)  
Antiguo 22/12/2011, 16:26
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 11
Como comparar antes de ingresar registros

Bien, estoy con un sistema de tags, los tags los ingreso mediante un input separado por comas, quiero que se ingrese un tag solo si el tag no existe, si existe que no se ingrese. Hasta ahora, este es mi codigo, ingresa perfectamente, pero me falta el filtrado, como lo puedo hacer?

Código SQL:
Ver original
  1. $palabra = $tags;
  2. $array = explode(",",$palabra);
  3. foreach ($array AS $tagsimple) {
  4. $query = "INSERT INTO Tags (Tag) VALUES ('$tagsimple')";
  5. $result = mysql_query($query, $dbConn) OR die(mysql_error()); }
  6. header( 'Location: prueba.php?add=true' );
  7. die;
  #2 (permalink)  
Antiguo 22/12/2011, 17:07
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 12 años, 10 meses
Puntos: 42
Respuesta: Como comparar antes de ingresar registros

Hola maximilianojcelis,

Una opción es cambiar la línea 4 por:
Código MySQL:
Ver original
  1. $query = "INSERT INTO Tags SELECT '$tagsimple' FROM (SELECT NULL) d WHERE NOT EXISTS (SELECT NULL FROM Tags WHERE Tag = '$tagsimple');
  #3 (permalink)  
Antiguo 23/12/2011, 07:09
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 11
Respuesta: Como comparar antes de ingresar registros

wchiquito muchisimas gracias, lo voy a probar y luego te cuento!
  #4 (permalink)  
Antiguo 23/12/2011, 12:45
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 11
Respuesta: Como comparar antes de ingresar registros

No me anduvo.. :/ me tira este error
Column count doesn't match value count at row 1
  #5 (permalink)  
Antiguo 23/12/2011, 15:03
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 12 años, 10 meses
Puntos: 42
Respuesta: Como comparar antes de ingresar registros

Hola maximilianojcelis,

Todo dependerá de la estructura de la tabla 'Tags'. Si insertarás solo la columna 'Tag' el INSERT quedará así:

Código MySQL:
Ver original
  1. $query = "INSERT INTO Tags (Tag) SELECT '$tagsimple' FROM (SELECT NULL) d WHERE NOT EXISTS (SELECT NULL FROM Tags WHERE Tag = '$tagsimple');
  #6 (permalink)  
Antiguo 23/12/2011, 18:25
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 11
Respuesta: Como comparar antes de ingresar registros

Ok, disculpa es que no habia logrado entender del todo como funcionaba el codigo.
Ahora si, anduvo a la perfección, muchisimas gracias wchiquito, cada dia se aprende algo nuevo.

Etiquetas: registros, tags, filtros
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:23.