nel mio sito c'è un'area download, lì vorrei metetre tipo i 5 più scaricati...come si fa?
nel mio sito c'è un'area download, lì vorrei metetre tipo i 5 più scaricati...come si fa?
Beh.... semplicemente crei un contaclick.
Ogni volta che un file viene scaricato, aggiorni una tabella nel DB semplicemente composta da: ID, ID_file e contaclick.
Una volta fatto questo, ti basterà fare una query ordinando per contaclick DESC limitando a 5 record.
![]()
conta anche che sono alle prese con il PHP, sto guardando le vostre guide...quella pratica, teorica e di base...
il bd c'è...è MySQL
Allora sei a cavallo.
Devi fare due tabelle, una per inserire i dati dei file da mettere in download, una che funge da contaclick.
Naturalmente, la tabella contaclick deve essere collegata a quella dowloads per una chiave (ID_FILE su contaclick = ID su download).
Spero di essere stato chiaro.
![]()
purtroppo sei stato chiaro, ma io non ho caipto...
il db lo ho...e ci tengo un forum PhpBB e poi?
Beh..... a questo punto suppongo che tu abbia poca dimestichezza con i DB.
Devi:
«1» installare due nuove tabelle nel DB. La prima, chiamata ad esempio downloads, composta da [id - nome_file - tipo_mime - data_inserimento - categoria (opzionale)], la seconda la puoi chiamare contaclick e sarà strutturata così [id - id_file - numero_downloads]
«2» creare, nella tua sezione di amministrazione, un form di upload dei file da mettere a disposizione ai tuoi utenti e che va a popolare la tabella downloads ogni volta che aggiungi un file alla tua lista.
«3» creare uno script, per la pagina dei downloads che si occupi di visualizzare la lista dei file da scaricare; lista i cui link punti ad una pagina (esempio) scarica.php
«4» scarica.php deve andare a pescare il nome del file da scaricare dal db (in base all'id che avrai passato con il link) e ad aggiornare la tabella contaclick.
«5» creare uno script, classifica_downloads.php che si occupa di andare a leggere i contenuti della colonna numero_downloads nella tabella contaclick.
Per il punto «1»: dai un occhiata in giro su come si installa una tabella in un DB: ricorda che si tratta di poche righe di comandi MySQL.
Per il punto «2»: anche qui nel forum, puoi trovare script che permettono di fare l'upload di un file (move_uploaded_file() ).
Per il punto «3»: Ti basta fare una query di select al database e stampare a video i risultati.
Per il punto «4»: si tratta di una pagina (anche senza stampa a video) sempre ottenibile con una SELECT.
Per il punto «5»: come per il punto 4
Questa è la bozza del progetto in soldoni... credo che partendo da qui puoi cominciare a buttare giù codice.
Per qualsiasi problema, non hai che da postare!
![]()
sei stato cristallino!grazie
l'ultima cosa...non ho capito i punti 3 e 4![]()
Codice PHP:
// pagina lista_file.php
$sql = "SELECT id, nome_file, tipo_file FROM downloads";
$query = mysql_query($sql);
echo "<ul>";
while ($riga = mysql_fetch_array($query)) {
echo "[*]
<a href=\"scarica.php?id=$riga['id']\">$riga['nome_file'] - $riga['tipo_file']</a>
";
}
echo "[/list]";
mysql_free_result($query);
Codice PHP:
// pagina scarica.php
$id = $_GET['id'];
$cartella = "directory/dove/hai/salvato/i/file";
$sql = "SELECT nome_file, tipo_file FROM downloads WHERE id =$id ";
$query = mysql_query($sql);
$riga = mysql_fetch_array($query);
$file = $riga['nome_file'];
$tipo = $riga['tipo_file'];
$lenght = @filesize("$cartella/$file");
header("Content-type: $tipo");
header("Content-lenght: $lenght ");
header("Content-Disposition: attachment; filename = $file");
// qui parte il download
// ti manca solo la query di aggiornamento del DB contaclick