Hola Buenas como están, Me preguntaba como podría hacer para que el usuario solo pueda agregar un numero maximo de post, es decir yo quisiera que un usuario registrado ami pagina pueda agregar 3 o 4 post como máximo, si trata de agregar otro le muestre un mensaje que ya supero el numero de registros permitios.
Espero sus comentarios gracias
1
Puntos
1038
Visitas
2
Resp
Por eduaryein hace 7 años
Novice
Respuesta #1
hola, exacto como dice el compañero, en la tabla users o z_users (o como la llames) agrega una nueva columna que se llame posts (por ejemplo) con valor predeterminado 0 (ningún post por defecto)

después donde haces los insert de los posts agregas un UPDATE a la tabla z_users:
UPDATE z_users SET posts=(posts+1) WHERE id=$iddeluser
lo que haces con posts=(posts+1) es sumar +1 a la cantidad que ya tienes en la base de datos :P

después compruebas los posts que tiene agregados este usuario antes de dejarlo agregar otro:
<?php 

//Comprobar numero de posts por id user
function comprobar_posts_user($iduser){
	global $conexion;

	$accion_nm="SELECT posts FROM z_users WHERE id=$iduser";
	$consulta_nm=mysqli_query($conexion,$accion_nm);
	$datos_nm=mysqli_fetch_assoc($consulta_nm);
	$cantidad_nm=mysqli_num_rows($consulta_nm);

	return $datos_nm['posts'];

	mysqli_free_result($consulta_nm);


}


//Si tiene menos de 5 se inserta
if(comprobar_posts_user($_SESSION['iduser']) < 5 ){
	
	$accion_nm = "INSERT INTO posts (titulo, mensaje) VALUES (%s, %s)";
	$consulta_nm = mysqli_query($conexion,$accion_nm) or die(mysqli_error());

} else echo 'Has llegado a tu máximo de posts';


?>
ahí tienes todo el proceso, solo tienes que adaptarlo a tu proyecto

salu2
1
Puntos
Por alber hace 7 años
Admin
Respuesta #2
alber dijo: hola, exacto como dice el compañero, en la tabla users o z_users (o como la llames) agrega una nueva columna que se llame posts (por ejemplo) con valor predeterminado 0 (ningún post por defecto)

después donde haces los insert de los posts agregas un UPDATE a la tabla z_users:
UPDATE z_users SET posts=(posts+1) WHERE id=$iddeluser
lo que haces con posts=(posts+1) es sumar +1 a la cantidad que ya tienes en la base de datos :P

después compruebas los posts que tiene agregados este usuario antes de dejarlo agregar otro:
<?php 

//Comprobar numero de posts por id user
function comprobar_posts_user($iduser){
	global $conexion;

	$accion_nm="SELECT posts FROM z_users WHERE id=$iduser";
	$consulta_nm=mysqli_query($conexion,$accion_nm);
	$datos_nm=mysqli_fetch_assoc($consulta_nm);
	$cantidad_nm=mysqli_num_rows($consulta_nm);

	return $datos_nm['posts'];

	mysqli_free_result($consulta_nm);


}


//Si tiene menos de 5 se inserta
if(comprobar_posts_user($_SESSION['iduser']) < 5 ){
	
	$accion_nm = "INSERT INTO posts (titulo, mensaje) VALUES (%s, %s)";
	$consulta_nm = mysqli_query($conexion,$accion_nm) or die(mysqli_error());

} else echo 'Has llegado a tu máximo de posts';


?>
ahí tienes todo el proceso, solo tienes que adaptarlo a tu proyecto

salu2
Hola muchas gracias por sus ayuda
1
Puntos
Por eduaryein hace 7 años
Novice
Para comentar Inicia sesión o Regístrate
Phpres 2025@ All rights reserved.
Utilizamos cookies para mejorar la navegación en el sitio. Más información Aceptar