Estoy trabajando en una aplicación, en la que se supone que el usuario debe hacer clic y enviar imágenes dos veces al día, pero no entiendo cómo hacerlo, quiero darle al usuario una limitación de que puede enviar imágenes dos veces al día, no más de Suponga que 10 rupias es una cantidad por cada registro, por lo que debería ser 20 rupias por día, no más que eso.

$sql = "INSERT INTO `daily_uploads` (img_path, geoplugin_city, geoplugin_regionName, date, amount)
VALUES ('$img', '$city', '$region',  '$date','$amount')";
if ($conn->query($sql) === TRUE) {

echo"success";

}

else{
    echo"Something wrong";
}
0
Sagar Gopale 13 dic. 2016 a las 14:44

2 respuestas

La mejor respuesta

Averigüe cuántas entradas se han realizado hoy con mysql:

SELECT COUNT(*) FROM `daily_uploads` WHERE DATE_FORMAT(`date`, '%Y-%m-%d') = CURDATE();

Use esta información para prohibir la inserción en PHP.

1
low_rents 13 dic. 2016 a las 11:58

Si he entendido correctamente su pregunta, solo puede tener dos registros por usuario. Esto normalmente se hace usando CHECK CONSTRAINTs pero desafortunadamente no es compatible con mysql, así que tendremos que hacer uso de un disparador.

CREATE TRIGGER daily_uploads_check
BEFORE INSERT ON daily_uploads
FOR EACH ROW
BEGIN
  IF( SELECT COUNT(*) FROM daily_upates WHERE /* conditions here */ ) =2  THEN
    SIGNAL 'your error message'
  END IF 
END

Debe adquirir bloqueos para asegurarse de que ningún otro hilo está haciendo una inserción en el momento después de haber ejecutado su consulta de selección.

1
e4c5 13 dic. 2016 a las 12:12