phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Log dei Download

Cerchi una MOD? Chiedi in questo forum.
Questa sezione è supportata dagli utenti del forum, pertanto lo Staff potrebbe non eseguire tali richieste.
claxcian
Utente
Utente
Messaggi: 17
Iscritto il: 22/11/2010, 21:40
Versione: 3.0.8
Server: Windows

Re: Log dei Download

Messaggio da claxcian » 23/11/2010, 18:35

devo fare un ina insert into sulla tabella phpbb_man_download creato.
ma mi da sempre errore

mysql_query('INSERT INTO phpbb_man_download VALUES (1,1)')

adesso per comodità gli faccio scrivere 1 1 nei campi, poi ci dovrà essere l'user_id e l'attac_id.

Ma appena metto quella istruzione mi da errore.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Log dei Download

Messaggio da Micogian » 23/11/2010, 19:00

Dove l'hai messa questa query ?
C'è la connessione al DB ?
Per lavorare come fa phpbb dovresti inserire la tabella nel file includes/constants.php

Codice: Seleziona tutto

define('MAN_DOWNLOAD_TABLE',				$table_prefix . 'man_download');
Così poi puoi usare

Codice: Seleziona tutto

$sql = "INSERT INTO " . MAN_DOWNLOAD_TABLE . " (user_id, attach_id)
VALUES ($user_id, $attach_id) " ;
if (@mysql_query($sql)){
// messaggio di inserimento avvenuto ;
}else{
// messaggio di errore;
}

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Log dei Download

Messaggio da Carlo » 23/11/2010, 21:00

Puoi fare come dice bingo, oppure per risolvere dovresti aggiungere:

Codice: Seleziona tutto

(user_id, attach_id)
prima di VALUES().
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

claxcian
Utente
Utente
Messaggi: 17
Iscritto il: 22/11/2010, 21:40
Versione: 3.0.8
Server: Windows

Re: Log dei Download

Messaggio da claxcian » 23/11/2010, 22:37

Sono riuscito a scrivere un record cosi

Codice: Seleziona tutto

$sql = "INSERT INTO " . MAN_DOWNLOAD_TABLE . " (user_id, attach_id)
VALUES ($user_id, $download_id)" ;
$result = $db->sql_query($sql);
if (@mysql_query($sql)){
// messaggio di inserimento avvenuto ;

}else{
// messaggio di errore;

}
solo che ora mi manca una select per trovare l'user_id che mi generato il download.

Poi alla mia tabella ho aggiunto anche un campo dove inserisco la data e ora del mio download.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Log dei Download

Messaggio da Micogian » 23/11/2010, 22:44

Nel file download/file.php c'è la parte che aggiorna il conteggio,

Codice: Seleziona tutto

else if (($display_cat == ATTACHMENT_CATEGORY_NONE/* || $display_cat == ATTACHMENT_CATEGORY_IMAGE*/) && !$attachment['is_orphan'])
{
	// Update download count
	$sql = 'UPDATE ' . ATTACHMENTS_TABLE . '
		SET download_count = download_count + 1
		WHERE attach_id = ' . $attachment['attach_id'];
	$db->sql_query($sql);
}
Basta aggiungere la parte INSERT

Codice: Seleziona tutto

$sql = "INSERT INTO " . MAN_DOWNLOAD_TABLE . " (user_id, attach_id)
VALUES (" . $user->data['user_id'] . "," . $attachment['attach_id'] . ")" ;

claxcian
Utente
Utente
Messaggi: 17
Iscritto il: 22/11/2010, 21:40
Versione: 3.0.8
Server: Windows

Re: Log dei Download

Messaggio da claxcian » 23/11/2010, 23:14

Ottimo, con il seguente codice sono riuscito anche a memorizzare l'ora di scaricamento. Con il seguente codice:

Codice: Seleziona tutto

$sql = "INSERT INTO " . MAN_DOWNLOAD_TABLE . " (user_id, attach_id,dataora)
VALUES (" . $user->data['user_id'] . "," . $attachment['attach_id'] . ",NOW() )" ;
$result = $db->sql_query($sql);
Domani devo fare la nuova pagine per l'amministratore dove può vedere questi dati.
Avete una idea ???

Rinagrazio in anticipo tutti per la collaborazione..spero comunque di aver dato spunto ad una mod interessante per qualcuno.
Ciao
Claudio

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Log dei Download

Messaggio da Micogian » 23/11/2010, 23:37

Non so se sia ancora usato il comando NOW(), usa time() per ottenere il timestamp.
Per ottenere la data dal timestamp:

Codice: Seleziona tutto

date ("d-m-Y H:i", time());
Per la visualizzazione dei dati con phpbb puoi creare una Custom Page (vedi nel Forum)
La Custom Page ti serve per estrarre i dati dal DB e creare un array da passare al Template.
Il template visualizza i dati.

claxcian
Utente
Utente
Messaggi: 17
Iscritto il: 22/11/2010, 21:40
Versione: 3.0.8
Server: Windows

Re: Log dei Download

Messaggio da claxcian » 24/11/2010, 10:47

Anche per la parte admin devo creare la custom page?

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Log dei Download

Messaggio da Micogian » 24/11/2010, 11:36

Tu devi visualizzare dei dati e per farlo devi creare una pagina, quindi una Custom Page che sarà composta da due file, il primo, un file php che ha il compito di connettersi al DB (Custom Page) ed estrarre i dati che ti servono.
Nel file php ci sarà una query e una funzione per creare le variabili (tutte le variabili passate al Template sono in Maiuscolo:

Codice: Seleziona tutto

    $sql = "SELECT user_id, attach_id, dataora
        FROM " . MAN_DOWNLOAD_TABLE . "
        ORDER BY user_id";
    $result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
    {
$template->assign_block_vars('download_list', array(

             'DOWNLOAD_USER'      => $row['user_id'],
             'DOWNLOAD_ATTACH'     => $row['attach_id'],
             'DOWNLOAD_DATAORA'     => date("d.m.Y H:i",$row['dataora'])
          ));
    }
Poi, sempre nel file php ci metti il Template di destinazione:

Codice: Seleziona tutto

$template->set_filenames(array(
	'body' => 'download_list_body.html')
);
A questo punto devi creare un file download_list_body.html da mettere nel Template e i dati verranno richiamati da un ciclo

Codice: Seleziona tutto

<!-- BEGIN download_list -->
mentre i valori saranno rappresentati dalle variabili {download_list.DOWNLOAD_USER}, {download_list.DOWNLOAD_ATTACH}, e {download_list.DOWNLOAD_DATAORA},
Il ciclo si chiude con

Codice: Seleziona tutto

<!-- END download_list -->
Il ciclo BEGIN ha la funzione di foreach.

claxcian
Utente
Utente
Messaggi: 17
Iscritto il: 22/11/2010, 21:40
Versione: 3.0.8
Server: Windows

Re: Log dei Download

Messaggio da claxcian » 24/11/2010, 11:55

Grazie mille ora provo se ho problemi oppure ho risolto ti faccio sapere

Rispondi

Torna a “Richiesta MOD”

Chi c’è in linea

Visitano il forum: Nessuno e 59 ospiti