max. berichten in pm systeem
Graag wil ik hier een maximaal aantal berichten functie inbouwen.
Dus bij totaal aantal van 100 berichten in je inbox, uitbox en prullebak moet je eerst wat berichten verwijderen om verder te kunnen met mailen.
Ik doe een gok (ik heb een niet getest!):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$mysql = "SELECT COUNT(*) AS totaal FROM tabel WHERE veldid = " . $_GET['id'];
$resultaat = mysql_query($mysql);
$rij = mysql_result(resultaat, 0, 0 );
if($rij['totaal'] > 100)
{
//bericht om berichten te verwijderen
} else {
//gewoon de berichten laten zien...
}
?>
$mysql = "SELECT COUNT(*) AS totaal FROM tabel WHERE veldid = " . $_GET['id'];
$resultaat = mysql_query($mysql);
$rij = mysql_result(resultaat, 0, 0 );
if($rij['totaal'] > 100)
{
//bericht om berichten te verwijderen
} else {
//gewoon de berichten laten zien...
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Bart Tuma
geef je tabel structuur van pm tabel(len) eens, dan maak ik het wel voor je, heb toch niets te doen (phpvoorkauwen.nl).
Waarom? Je praat over een paar KB. Gewoon een COUNT() met een echo, 'aangezien u meer dan 100 berichten in uw inbox heeft staan vragen wij u vriendelijk er een of meer te verwijderen'. Anders 1x in de maand een top 10 van grootgebruikers even een berichtje versturen...
Maar even een vraagje:
wordt jouw pm systeem echt zó veel gebruikt? dat je miljarden records in je pm tabel hebt staan? of zijn het er hooguit 100000 ongeveer? Dan zou ik er echt niets aan doen hoor, dat kan je database makkelijk aan.
`id` int(11) NOT NULL auto_increment,
`van` varchar(255) NOT NULL default '',
`ip` varchar(15) NOT NULL default '',
`naar` varchar(255) NOT NULL default '',
`datum` varchar(10) NOT NULL default '',
`tijd` varchar(8) NOT NULL default '',
`sub` varchar(255) NOT NULL default '',
`bericht` longtext NOT NULL,
`gelezen` char(2) NOT NULL default '0',
`atentie` int(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
CREATE TABLE `opties` (
`id` int(11) NOT NULL auto_increment,
`gebruiker` varchar(255) NOT NULL default '',
`alert` int(1) NOT NULL default '1',
`buddys` longtext NOT NULL,
`geblokkeerd` longtext NOT NULL,
`dwd` varchar(6) NOT NULL default 'trash',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
if ($count > 100) {
echo 'LET OP! Je hebt 100 berichten in je postvak in. Dat is het maximum. Verwijder eerst berichten voor er weer nieuwe berichten verschijnen.';
}
Moeilijk?
Bedankt voor de reakties
Maar dat moet je wel weten, welke DB gebruik je?
Bedankt Tommy. Ik kan hier zeker verder mee.
MySQL client version: 5.0.37
Dat kan je database zeker aan, meer zelf, 64 TB is volgensmij het max voor één tabel, of het is inmiddels meer.