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
Espero sus comentarios gracias
1
Puntos
Puntos
1038
Visitas
Visitas
2
Resp
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:
después compruebas los posts que tiene agregados este usuario antes de dejarlo agregar otro:
salu2
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=$iddeluserlo 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 proyectosalu2
1
Puntos
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)Hola muchas gracias por sus ayuda
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=$iddeluserlo 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
Puntos
Por eduaryein hace 7 años
Novice