elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  No permitir duplicados
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No permitir duplicados  (Leído 1,601 veces)
sirkiu

Desconectado Desconectado

Mensajes: 4


Ver Perfil
No permitir duplicados
« en: 12 Diciembre 2015, 09:44 am »

Estoy creando un portal de anuncios clasificados y quiero evitar que pongan anuncios duplicados, para ello no voy a permitir que ni el título, ni la descripción se puedan poner si ya existen en la bd.

Lo que he visto para hacerlo es esto http://www.forosdelweb.com/f18/prevenir-registros-duplicados-php-249081/

Alguien sabe como podría hacerlo en tiempo real, es decir, que si escribo el título, al pasar al campo siguiente me salga un mensaje avisandome que ese texto ya existe y tengo que modificarlo.


En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: No permitir duplicados
« Respuesta #1 en: 12 Diciembre 2015, 19:15 pm »

Los títulos y descripción se escriben y va a ser algo dificil compararlos, más bien se podria comparar palabras, tal y como hace la web stackoverflow, cuando vas a poner el título aparecen preguntas similares. No es lo que quieres, pero de otra manera se van a subir anuncios duplicados (aunque no tengan el mismo título o descripción).

Para ello necesitarás Ajax. Crea un script php que haga el select y compare (post o get). Luego haces otro script, con javascript o jquery para mandar el texto a comparar y, depende como lo quieras hacer, muestras o no el mensaje de error.

Nunca he hecho algo así en ajax, pero debe ser muy simple: El trigger podría ser el focus del campo de texto tal y como has dicho: al pasar al campo siguiente se le hace focus y puede usarse como trigger (activar el script).

Código
  1. $selector // body o parent
  2.  
  3. .on('focus.inputtext', function() {
  4.    // aquí harias el ajax request
  5.    // yo usaría post en lugar de get
  6. })
  7.  
  8. .on('otro', 'selector', function() {
  9.    // si necesitas hacer cualquier otra cosa
  10. });

Lo hago así porque si vas a trabajar con elementos dinamicos es mejor usar on() que siempre funciona.

Tendrás que pensar de que manera vas a comparar, no te recomiendo comparar solo el título entero.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Tres monitores, 2 duplicados
Hardware
raul338 2 2,980 Último mensaje 3 Noviembre 2012, 17:49 pm
por raul338
vb.net - Items Duplicados y no duplicados de Un Listview
.NET (C#, VB.NET, ASP)
OscarCadenas_91 2 3,872 Último mensaje 12 Febrero 2015, 13:55 pm
por OscarCadenas_91
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines