Como guardar datos en MySQL con PHP sin repetir registros.

Angel Sanche Seguir

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
18 Nov 2013
Mensajes
212
Hola colegas, estoy haciendo una pequeña aplicación en PHP con la cual necesito guardar unos datos, pero estos se actualizan después de un tiempo y en vez de repetirlos deseo actualizarlos. Me explico un poco:

1.- La aplicación agarra un lote de URLs.
2.- A cada URL se le asigna un valor. (Ya tenemos dos campos: URL - VALOR).
3.- Gurda estos datos en una base de datos en MySQL.

... después de un tiempo, se repite el paso 1,2 y 3. Después de este tiempo entra otro lote de URLs, si son nuevos datos no hay problema, se agregan a la base de datos, el detalle es que existe la posibilidad de que salga una URL de un lote anterior, pero con un nuevo valor, deseo que en vez de guardar repetida esta URL con otro valor, se actualice con el valor nuevo.

Espero haberme explicado bien, muchas gracias por su tiempo.

Saludos!
 

tuitero

Beta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
14 Mar 2015
Mensajes
140
usa un if,
$campourl = query de la base de datos seleccionando al valor del campo url
$url = url nueva recien insertada, para comparar
if ( $url != $campourl){
aqui tu funcion de insert
}

Para mi eso seria lo mas sencillo, no es algo fancy pero te saca del apuro, los maestros programadores deben de saber mas.
 

Vittey

VIP
Pi
Social Media
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Desde
13 Abr 2013
Mensajes
5.487
Seria algo asi.
Si la URL ya existe, solo modificas su campo Valor, con el nuevo dato. :encouragement:
 

Daniel Muñoz

1
Pi
Programador
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
20 Mar 2009
Mensajes
5.759
Compara el valor que vas a introducir con la base de datos, si ya existe no lo guarda.

Un query + condicional :encouragement:
 

YeltsinReyes

Lambda
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Desde
16 Feb 2010
Mensajes
2.939
[MENTION=50608]Angel Sanche[/MENTION] usa un WHERE, si la url existe actualizas si no existe creas un nuevo registro! :encouragement:
 

aperpen

Gamma
Programador
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
1 May 2014
Mensajes
235
Lo más fácil, rápido y óptimo es que en tu tabla establezcas el campo url como único. Para eso dentro de tu tabla en phpmyadmin vas a estructura y en el campo URL donde pone acción pichas en único.
Luego basta con que modifiques tu consulta usando la clausula on key update. Por ejemplo:
Insertar CODE, HTML o PHP:
INSERT INTO `tutabla` (url,valor) VALUES ('http://aperpen.com',3)
  ON DUPLICATE KEY UPDATE valor= VALUES(valor)
 

Angel Sanche

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
18 Nov 2013
Mensajes
212
Lo más fácil, rápido y óptimo es que en tu tabla establezcas el campo url como único. Para eso dentro de tu tabla en phpmyadmin vas a estructura y en el campo URL donde pone acción pichas en único.
Luego basta con que modifiques tu consulta usando la clausula on key update. Por ejemplo:
Insertar CODE, HTML o PHP:
INSERT INTO `tutabla` (url,valor) VALUES ('http://aperpen.com',3)
  ON DUPLICATE KEY UPDATE valor= VALUES(valor)

Genial, esto me funciono muy bien. Gracias!
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba