PHP - Limitar numero de insert (Registros)

 
Vista:
sin imagen de perfil
Val: 93
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Limitar numero de insert (Registros)

Publicado por code (38 intervenciones) el 28/06/2021 20:51:07
Hola a todos estoy realizando una plataforma, donde cada usuario inicia sesión y va a encontrar un pequeño formulario ; el problema resulta en que cada usuario solo podrá usar el formulario dos veces osea en pocas palabras podrá registrar un valor 2 veces, si este usuario ya lo hizo debera salirle un alert donde se le indique ya alcanzao el numero de oportunidades al completar los 2 registros

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$query = mysqli_query($conn, "SELECT * FROM letra WHERE nombre = '$nombre'");
 
$result = mysqli_fetch_array($query);
 
 
if ($result > 0) {
   echo'<script type="text/javascript">
    alert("El  valor ya existe");
    window.location.href="home.php";
    </script>';
 
 
}else{
 
      $query_insert = mysqli_query($conn, "INSERT INTO
        tabla1(valor1,valor2,valor3,valor4,valor5,valor6,valor7) VALUES
        ('$valor1','$valor2','$valor3','$valor4','$valor5',
        '$valor6','$valor7')");
 
 
      if ($query_insert) {
           echo'<script type="text/javascript">
                alert("El valor fue guardado con exito");
                window.location.href="home.php";
                </script>';
      }else{
             echo'<script type="text/javascript">
                alert("El valor no pudo ser guardado con exito");
                window.location.href="home.php";
                </script>';
      }

Este es el esquema que tengo hasta ahora el insert funciona correctamente solo me hace falta esa validación
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jorge

Limitar numero de insert (Registros)

Publicado por Jorge (69 intervenciones) el 16/07/2021 09:37:30
Hola!!

Suponiendo que el usuario cuando inicia sesión se queda activada una variable de sesión llamada USUARIO
Y suponiendo que tienes una tabla de usuarios registrados en la base de datos llamada "USUARIOS", en el que guardas los nombres de los usuarios en la columna "USUARIO"

Tienes que crear en dicha tabla una columna numérica llamada "OPORTUNIDADES"

Tendrías que aplicar una condición antes de insertar que compruebe si "OPORTUNIDADES" es menor a 2
También tienes que aplicar después del INSERT un UPDATE que sume +1 en "OPORTUNIDADES"

Si adaptas lo de la base de datos y lo de la variable de SESSION esto podría servirte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
$query = mysqli_query($conn, "SELECT * FROM letra WHERE nombre = '$nombre'");
 
$result = mysqli_fetch_array($query);
 
 
if ($result > 0) {
   echo'<script type="text/javascript">
    alert("El  valor ya existe");
    window.location.href="home.php";
    </script>';
 
 
}else{
 
 
$tabla = mysqli_query($conn, "SELECT * FROM USUARIOS WHERE USUARIO = ".$_SESSION['USUARIO']." ");
	$datos=mysqli_fetch_array($tabla);
 
	if($datos['OPORTUNIDADES']<2) {
 
      $query_insert = mysqli_query($conn, "INSERT INTO
        tabla1(valor1,valor2,valor3,valor4,valor5,valor6,valor7) VALUES
        ('$valor1','$valor2','$valor3','$valor4','$valor5',
        '$valor6','$valor7')");
 
 
      if ($query_insert) {
           echo'<script type="text/javascript">
                alert("El valor fue guardado con exito");
                window.location.href="home.php";
                </script>';
 
    mysqli_query($conn, "UPDATE USUARIOS SET OPORTUNIDADES = OPORTUNIDADES+1 WHERE USUARIO = ".$_SESSION['USUARIO']." ");
 
      }else{
             echo'<script type="text/javascript">
                alert("El valor no pudo ser guardado con exito");
                window.location.href="home.php";
                </script>';
      }
 
	} else {
 
	echo'<script type="text/javascript">
                alert("Usted ya alcanzao el numero de oportunidades al completar los 2 registros");
                window.location.href="home.php";
                </script>';
	}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar