Skráargrunnur (MySQL) með teljara
Skrifað af Gaui þann 13. janúar 2007 - 21:18
2 athugasemdir skrifaðar - toppur / botn
Fjöldi lestra: 1620
Þetta er afar einfalt, en hér er svona hugmyndin á bakvið þetta. Þetta er sem sagt skráargrunnur, sem geymir skrár í MySQL gagnagrunni, og svo getur notandinn sótt skrárnar. Í hvert skipti sem einhver nær í skrána uppfærist teljarinn, þannig hægt er að fylgjast með hversu oft sé búið að sækja skrárnar.

MySQL tafla
========================
CREATE TABLE `download_tracker` (
`id` int(5) NOT NULL auto_increment,
`skra` varchar(50) NOT NULL default '',
`sott` int(5) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM;
 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 |
<?php
require_once( 'db.php' ); // Verður að búa MySQL tengiskrá (db.php)
$tafla 'download_tracker';

if( isset( 
$_GET['id'] ) )
{
    
$query mysql_query"SELECT * FROM $tafla WHERE id = '{$_GET['id']}'" );
    
$myrow mysql_fetch_assoc$query );
    
    
$file realpath$myrow['skra'] );
    if( 
file_exists$file ) && mysql_num_rowsmysql_query"SELECT id FROM $tafla WHERE id = '{$_GET['id']}'" ) ) >= )
    {
        
mysql_query"UPDATE $tafla SET sott = sott + 1 WHERE id = '{$_GET['id']}'" );
        
header'Content-type: application/force-download' );
        
header'Content-Transfer-Encoding: Binary' );
        
header'Content-length: ' filesize$file ) );
        
header'Content-disposition: attachment; filename="' basename$file ) . '"' );
        
readfile$file );
    }
    else
    {
        die( 
'Skrá fannst ekki.' );
    }
}

$query mysql_query"SELECT * FROM $tafla ORDER BY skra" );
while( 
$myrow mysql_fetch_assoc$query ) )
{
    echo 
'<a href="?id=' $myrow['id'] . '">' $myrow['skra'] . '</a> (' $myrow['sott'] . ')<br />';
}
?>



14. janúar 2007 - 20:27
#1 - elvar aron
http://www.eyjar.org
Snilld! Kemur mér að góðum notum kall, þetta er æðislegt!

23. apríl 2010 - 19:23
#2 - Svavar Kjarrval
Ef færslan er til í töflunni er lítill tilgangur að leita aftur til að sjá hvort færslan sé til. Þú getur einfaldlega talið hversu margar færslur komu til baka í fyrsta skiptið. Síðan þarftu bara að athuga hvort skráin sé til og uppfæra teljarann ef svo er.

Síðan myndi varla saka að innleiða cache fyrir færslurnar. Nákvæm tala skiptir ekki svo miklu máli að fletta þurfi upp á henni í hverri flettingu. Þetta er bara auka ef einhver kemur hingað og ætlar að nota þetta fyrir nokkuð vinsælan vef.




Nafn:


Netfang:


Veffang:


Hvað er tólf plús einn?



Skilaboð: