GDRCD 5.5 Modifiche ai presenti e ai presenti estesi
GDRCD 5.5 Modifiche ai presenti e ai presenti estesi postato il 14/10/2020 16:29:51 nel forum programmazione, open source e hosting e modificato da gdr-online.com il 16/10/2020 09:04:56
Avrei bisogno di sistemare questi due file. Vediamo, step by step. Allora, la prima modifica che proprio non riesco a far funzioanre riguarda il file presenti.inc.php.Per farvi capire, ho aggiunto un 4° stato ai 3 già disponibili: collegato da smartphone. E una fuzione per cui in automatico, chi si collega da smartphone viene settato su quello stato.Quando ci si ricollega da desktop, lo stato ritorna a quello precedente alla connessione via smartphone grazie ad una colonna che ho aggiunto in database: disponibile_old. Ovviamente, questa colonna contiene lo stesso dato della colonna "disponibile" e serve proprio per tenre traccia dello stato precedente.Il problema è che non riesco a fare lo switch cliccando sul pallino ed infatti ho dovuto spostare la selezione dello stato all'interno della pagina di modifica dell'avatar. Funziona tutto perfettamente, solo che raggiungere e modificare ogni volta lo stato dall'avatar è scomodo, diciamolo pure.La parte di codice interessata in presenti.inc.php è questa:
$change_disp = ($record['disponibile'] + 1) % 3; if($record['nome'] == $_SESSION['login']) { //se c'e' stato un cambio di permessi aggiorno if($record['permessi'] != $_SESSION['permessi']) { $_SESSION['permessi'] = $record['permessi']; } echo '<a href="presenti.inc.php?disponibile='.$change_disp.'" class="link_sheet">'; } echo '<img class="presenti_ico" src="../imgs/icons/disponibile'.$record['disponibile'].'.png" alt="'.gdrcd_filter('out', $MESSAGE['status_pg']['availability'][$record['disponibile']]).'" title="'.gdrcd_filter('out', $MESSAGE['status_pg']['availability'][$record['disponibile']]).'" />'; if($record['nome'] == $_SESSION['login']) { echo '</a>'; }
Se cambio in:$change_disp = ($record['disponibile'] + 1) % 4;
mi fa tranquillamente lo switch di tutti e quattro gli stati, ma non mi aggiorna la tabella disponibile_old.Smanettando ho provato con:$change_disp = (($record['disponibile'] + 1) % 4) && ($record['disponibile_old'] + 1) % 4));
e con$change_disp = ($record['disponibile'] + 1) % 4;$change_disp = ($record['disponibile_old'] + 1) % 4;
Ma non va. Come faccio a far sì che cliccando sui pallini dello stato non si aggiorni solo la colonna disponibile MA anche la sua gemella disponibile_old?
Pagine → 1
18/10/2020 13:38:01
Ciao! Come hai gestito l'update del db? Nel codice che hai postato manca quello ;)
20/10/2020 13:00:19
emendil ha scritto: Ciao! Come hai gestito l'update del db? Nel codice che hai postato manca quello ;)
Il problema era proprio quello, me n'ero completamente dimenticata :)Risolto sistemando la query a inizio codice in questo modo:if(isset($_REQUEST['disponibile']) === true) { $query = "UPDATE personaggio SET ultimo_refresh = NOW(), disponibile=".gdrcd_filter('num', $_REQUEST['disponibile']).", disponibile_old=".gdrcd_filter('num', $_REQUEST['disponibile'])." WHERE nome = '".gdrcd_filter('in', $_SESSION['login'])."'"; }
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!