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

incrementare automaticamente una tabella

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Avatar utente
alex75
phpBB Expert
phpBB Expert
Messaggi: 943
Iscritto il: 31/03/2012, 23:46
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.37
Database: MySQL 5.6.39
Località: palermo
Contatta:

Re: incrementare automaticamente una tabella

Messaggio da alex75 » 03/11/2016, 19:28

Così come lho pensata... il codice sembrerebbe ridursi all'osso, ma non sta funzionando, evidentemente ho è sbagliato il mio pensiero oppure sbaglio qualcosa nel codice.

Codice: Seleziona tutto

<?php
// Mi connetto al database mysql
$dbi = mysqli_connect("localhost", 'root', '', 'sbg');

// Azzero la tabella id_prem degli user_id che non si sono ancora connessi oggi... così se si connetteranno potranno ricevere i punti.
$req = mysqli_query($dbi, "UPDATE `phpbb_users` SET id_prem = '1' WHERE DATE(FROM_UNIXTIME (user_lastvisit)) < CURDATE(); ");
// Aggiungo 100 punti al contatore degli user_id con timestamp di oggi
$req1 = mysqli_query($dbi, "UPDATE `phpbb_users` SET cont_punti = cont_punti + 100 WHERE id_prem = '1' AND attivo = '1' AND DATE(FROM_UNIXTIME (user_lastvisit)) == CURDATE(); ");
// dopo aver assegnato i punti porto il valore di id_prem a 2 così per oggi non potrà ricevere altri punti
$req2 = mysqli_query($dbi, "UPDATE `phpbb_users` SET id_prem = '2' WHERE DATE(FROM_UNIXTIME (user_lastvisit)) == CURDATE(); ");
?>
in pratica la tabella id_prem si aggiorna ma i punti non vengono assegnati

Avatar utente
alex75
phpBB Expert
phpBB Expert
Messaggi: 943
Iscritto il: 31/03/2012, 23:46
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.37
Database: MySQL 5.6.39
Località: palermo
Contatta:

Re: incrementare automaticamente una tabella

Messaggio da alex75 » 03/11/2016, 20:42

alex75 ha scritto:Così come lho pensata... il codice sembrerebbe ridursi all'osso, ma non sta funzionando, evidentemente ho è sbagliato il mio pensiero oppure sbaglio qualcosa nel codice.
Leggasi:
alex75 ha scritto:Così come l'ho pensata... il codice sembrerebbe ridursi all'osso, ma non sta funzionando, evidentemente o è sbagliato il mio pensiero oppure sbaglio qualcosa nel codice.
:oops: 2 errori in una solo rigo (giuro ero distratto perchè mentre scrivevo pensavo al codice e rimodificavo il testo :mrgreen: )

Edit:
Trovato l'errore nel codice.
C'era un segno = di troppo qui:

Codice: Seleziona tutto

DATE(FROM_UNIXTIME (user_lastvisit)) == CURDATE()
Sto facendo dei controlli incrociati... ma sembra che tutto funzioni a dovere

Questo è il codice attuale e funzionante come volevo:

Codice: Seleziona tutto

<?php
// Mi connetto al database mysql
$dbi = mysqli_connect("localhost", 'root', '', 'sbg');

// Azzero la tabella id_prem degli user_id che non si sono ancora connessi oggi... così se si connetteranno potranno ricevere i punti.
$req = mysqli_query($dbi, "UPDATE `phpbb_users` SET id_prem = '1' WHERE DATE(FROM_UNIXTIME (user_lastvisit)) < CURDATE(); ");
// Aggiungo 100 punti al contatore degli user_id con timestamp di oggi
$req1 = mysqli_query($dbi, "UPDATE `phpbb_users` SET cont_punti = cont_punti + 100 WHERE attivo = '1' AND id_prem = '1' AND DATE(FROM_UNIXTIME (user_lastvisit)) = CURDATE(); ");
// dopo aver assegnato i punti porto il valore di id_prem a 2 così per oggi non potrà ricevere altri punti
$req2 = mysqli_query($dbi, "UPDATE `phpbb_users` SET id_prem = '2' WHERE DATE(FROM_UNIXTIME (user_lastvisit)) = CURDATE(); ");
?>

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 64 ospiti