Es tikai gribēju palielīties ar to, kā šis ir izveidots, pa soļiem: http://svens.exs.lv/activity
1. Pievienojot savu ID, datubāzē tiek ierakstīts arī esošo dienu, postu un karmas skaits, kuru attiecīgi skaita nost.
2. Statistikas apdeita brīdī no exs API izvelk jauno postu/karmas/dienu skaitu, un no tā atskaita to, kas pirmīt tika ierakstīts. Tur pa vidu ir vel daži aprēķini, pēc kuriem nosaka posti/dienā un karma/dienā.
3. Attēlo lapā visus tos, kuriem ir vismaz 1 posts kopš pievienošanās brīža.
4. Detalizētas informācijas sadaļas 2. daļa bija lielākais čakars. Jauna tabula, ar history. 1 skripta palaišanas brīdī es izvilku visu postus, kurus skaitīt nost, principā tas pats, kas ar pievienošanos, BET pēctam vel atskaita no pēdējā un saglabā starpību. (Cik posti tika iepostoti starp stundām).
5. Pieskaita to visu velvienā citā tabulā, kur ir tikai pa dienām.
6. Izvelk to visu ārā un atliek tabulā. http://svens.exs.lv/userinfo/16433
Un tas viss tikai no https://exs.lv/user_stats/json/16433 datiem.
Man liekas, ka to detalizētas informācijas tabulu varētu vēlēties izmantot modi.
S J miniblogs
- 0
S J 03.01.2013. 19:17
- 0
S J 02.01.2013. 18:25
Kas man īsti nav kārtībā ar šo kveriju?
UPDATE `log` SET (`posts`, `karma`, `class`, `lastseen`, `nick`) = ('$posts', '$karma', '$type', '$lastseen', '$nick') WHERE `user_id` = '$user_id'- +3
mad 02.01.2013. 18:47
Tā update neraksta.
UPDATE `log` SET `posts` = '$posts', `karma` = '$karma' WHERE `user_id` = '$user_id'
- 0
S J 02.01.2013. 13:01
Sveiki. Kā es šeit varētu sakārtot pēc postiem/karmas?
http://svens.exs.lv/activity
Tos datus izvelk ar šādu kodu:if ($page == 'activity') {
echo '<div class="readbox">';
$logged_users = $db->query("SELECT * FROM log ORDER BY `log`.`id` ASC");
echo '<center>Vēlies tikt šeit pievienots? Dodies uz <a class="small Lietotājs" href="http://svens.exs.lv/track">http://svens.exs.lv/track</a><br />
<table class="mhm">
<tr>
<td>Lietotājvārds</td>
<td>Posti</td>
<td>Karma</td>
<td>Posti dienā</td>
<td>Karma dienā</td>
<td>Klase</td>
<td>Pēdējo reizi manīts</td>
</tr>';
$days = 'https://exs.lv/user_stats/json/16433';
$json_days = file_get_contents($days);
$decode_days = json_decode($json_days);
$print_days = $decode_days->{'days'} - 770;
while ($print = $logged_users->fetch_object()) {
$url = 'https://exs.lv/user_stats/json/' . $print->user_id . '';
$json = file_get_contents($url);
$decode = json_decode($json);
$posts = $decode->{'posts'} - $print->posts;
$karma = $decode->{'karma'} - $print->karma;
$nick = $decode->{'nick'};
$user_id = $decode->{'id'};
$lastseen = $decode->{'last_seen'};
$type = $decode->{'type'};
$time = time()- 8*60;
$time = date("Y-m-d H:i:s", $time);
if ($lastseen > $time) {
$star = '<span style="color:#FF8000">*</span>';
}
else {
$star = '';
}
if ($type == 'user') {
$type2 = 'Lietotājs';
}
else if ($type == 'moderator') {
$type2 = 'Moderators';
}
else if ($type == 'journalist') {
$type2 = 'RA';
}
else if ($type == 'admin') {
$type2 = 'Administrators';
}
echo '<tr>
<td><a class="small ' . $type2 . '" href="https://exs.lv/user/' . $user_id . '">' . $star . '' . $nick . '</a></td>
<td>' . $posts . '</td>
<td>' . $karma . '</td>
<td>' . round($posts/$print_days, 2) . '</td>
<td>' . round($karma/$print_days, 2) . '</td>
<td>' . $type2 . '</td>
<td>' . $lastseen . '</td>
</tr>';
}
echo '</table><br /></center></div>';
}
Datubāzē tiek glabāti tikai lietotāju ID, atņemamais postu un karmas skaits.- 0
mad 02.01.2013. 15:16
Jāielasa visu pa priekšu kaut kādā masīvā un jāsakārto pirms rādīšanas.
Bet vispār būtu labi netaisīt tik daudz pieprasījumu uz katru ielādi un ierakstīt tos datus kaut kā pie sevis db. Un atjaunot ik pa laikam. Kā sakārtot izvelkot no db tad jau vairs nebūtu problēma.- 0
S J 02.01.2013. 15:19
To atjaunošanu kautvai ar webmin iebūvēto crontabu sataisīt? Nu "php /home/svens/public_html/refresh_skripts.php"
- +1
S J 24.12.2012. 07:54
Man datubāzē tiek rakstīti laiki, kad lietotājs pēdējo reizi manīts. Kā izvilkt visus, kas manīti pēdējo 5 minūšu laikā?
- +1
S J 24.12.2012. 03:29
Jautājums par pretty URL's.
Man šobrīd .htaccess failā stāvRewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?p=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?p=$1
Un šis strādā tikai ar ?p=add (nu, kur ir viens, kā lai izstāsta... Nu, ?p=add strādā rakstot /add, bet ?p=user&id=1 nestrādā kā /user/id/1)- +1
S J 24.12.2012. 03:32
Never mind. Ja nu kādam interesē -
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?p=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?p=$1
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?p=$1&id=$2
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ index.php?p=$1&id=$2
PRETTY URL's IR AWESOME!!!
- +1
S J 24.12.2012. 03:07
Tur ir rakstīts.
Principā, no tā, ko lietotāji redz: Linki vairs neveidojas /user?id=1, bet gan ?p=user&id=1. Tas laikam arī viss. Bet nu pārcilāju 700 rindiņas. Varbūt vel sataisīšu pretty urls, bet nu tas iet tikai uz servera.
- 0
S J 24.12.2012. 07:47
Pārrakstiju visus linkus ar RewriteEngine.
Ko tas nozīmē? Tas nozīmē, ka ?p=user&id=1 vietā links veidosies /user/1 un tādā garā. Tagad tikai jāpielabo dažas lietas, jāiemet exā, un var ķerties klāt PM sistēmai.