No permitir duplicados

Iniciado por sirkiu, 12 Diciembre 2015, 09:44 AM

0 Miembros y 1 Visitante están viendo este tema.

sirkiu

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.

gAb1

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 (javascript) [Seleccionar]
$selector // body o parent

.on('focus.inputtext', function() {
   // aquí harias el ajax request
   // yo usaría post en lugar de get
})

.on('otro', 'selector', function() {
   // si necesitas hacer cualquier otra cosa
});


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.