Scadenza di una news

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
FERMI TUTTI! Forse ho trovato una soluzione piuttosto elegante. Dato che il sito è hostato su Aruba (host linux) c'è la possibilità di far eseguire date operazioni a date ore, diciamo una specie di cron server.

Adesso faccio le prove e vediamo cosa succede
 

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
allora, con l'opzione di esecuzione automatica di aruba riesco a far eseguire lo script PHP quando mi serve, il problema è lo script:

PHP:
<?php
session_start();
require("./conf/dbconf.inc.php");
dbConnect();
$odierna = date("d.m.Y");
$qU= mysql_query("UPDATE news SET archivio = '1' WHERE scadenza = $odierna");
dbClose();
?>

Non ne vuol sapere di aggiornarmi la tabella news impostando archivio a 1 dove scadenza è uguale alla data odierna
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova a riscrivere questo pezzo modificandolo
<?php
session_start();
require("./conf/dbconf.inc.php");
dbConnect();
$odierna = date("d.m.Y");
$qU= mysql_query("UPDATE news SET archivio = '1' WHERE scadenza = $odierna");
dbClose();
?>
in
<?php
session_start();
require("./conf/dbconf.inc.php");
dbConnect();
$odierna = date("d.m.Y");
$qU="UPDATE news SET archivio = '1' WHERE scadenza = $odierna";

var_dump($qU);

$query=mysql_query($qU);
//e commenta la riga del close, generalmente non serve
//dbClose();
?>

e guarda bene cosa ti restituisce il var_dump, dovrebbe ristituirti una cosa del genere

string(40) UPDATE news SET archivio=1 WHERE scadenza=30.01.2010
 

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
ecco il dump per la query.

Codice:
string(58) "UPDATE news SET archivio = '1' WHERE scadenza = 2010-03-08"

ho controllato e nel DB la data viene registrata proprio così! Eppure non c'è verso di far cambiare sto basXXXo di campo archivia = a 1!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
oltre a quallo che ha detto alex, verifica che ci sia ESATTA corripomdenza tra i nomi tabella e campi e le query.
posta la precisa struttura della tabella
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
È esattamente per questo che gli ho chiesto di modificare così il codice della query. Almeno se commette qualche errore con i nomi dei campi se ne accorge, invece di passare sei settimane a sbattere la testa contro il monitor come facevo io anni fa! :D
 

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
Ecco l'esportazione di PHP MyAdmin
Codice:
CREATE TABLE IF NOT EXISTS `news` (
  `id` int(25) NOT NULL AUTO_INCREMENT,
  `data` date NOT NULL,
  `titolo` varchar(255) NOT NULL,
  `testo_introduttivo` text,
  `testo_completo` text,
  `scadenza` date NOT NULL,
  `archivia` int(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  FULLTEXT KEY `titolo` (`titolo`),
  FULLTEXT KEY `testo_introduttivo` (`testo_introduttivo`),
  FULLTEXT KEY `testo_completo` (`testo_completo`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

e questo è il dump attuale della tabella

Codice:
INSERT INTO `news` (`id`, `data`, `titolo`, `testo_introduttivo`, `testo_completo`, `scadenza`, `archivia`) VALUES
(1, '2010-03-05', '22', '<p>22</p>', '<p>22</p>', '2010-03-05', 0),
(2, '2010-03-05', '444', '<p>444</p>', '<p>444</p>', '2010-03-05', 0),
(3, '2010-03-08', '4444', '<p>4444</p>', '<p>4444444</p>', '2010-03-08', 0);

e questo è il file auto_archivia_news.php allo stato attuale:

PHP:
<?php
session_start();
require("./conf/dbconf.inc.php");
dbConnect();
$res = mysql_query( "SELECT utenti_accesso.id FROM utenti_accesso, log_accessi WHERE utenti_accesso.id = log_accessi.id_utenti_accesso AND log_accessi.session_id = '".session_id()."';" );
if (mysql_num_rows($res) > 0) {
$odierna = date("Y-m-d");
$qU=("UPDATE news SET archivia = '1' WHERE scadenza = $odierna");
//var_dump($qU);
$query=mysql_query($qU)or die(mysql_error());  
}
?>

se richiamo il file auto_archivia_news.php la schermata è completamente bianca però il dump della tabella resta invariato.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao,
due cose che però forse sono stupidaggini
togli le parentesi e gli apici (archivia è un intero)

$qU="UPDATE news SET archivia = 1 WHERE scadenza = $odierna";

così come è la querystringa sembrerebbe giusta:confused:

forse trovato

$qU="UPDATE news SET archivia = 1 WHERE scadenza = '$odierna'";
a odierna gli apici
 
Ultima modifica:

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
avete presente quando uno script non funziona e vi mettete li a provare le cose più assurde? Era quello... sarà che stò portando avanti 4 siti contemporaneamente...

Comunque funziona! Ho fatto una prova inserendo una news con data di scadenza ad oggi e il campo archivia è uguale a 1.

Un sentito ringraziamento a tutti gli utenti che si sono fatti avanti postando codice e perdendo tempo.
 
Discussioni simili
Autore Titolo Forum Risposte Data
E scadenza licenza software PHP 1
P Visual Studio VB.NET Visualizzare un messaggio alla scadenza. .NET Framework 0
crealatualista [PHP] Data di scadenza formato (aammgg) PHP 5
G Controllo scadenza sessioni PHP 2
filomeni Scadenza cookie PHP 3
G Controllo scadenza date PHP 6
D [JSP] Gestire eccezioni relative alla scadenza delle sessioni Java 0
S Inviare email reminds scadenza PHP 25
max_400 Scadenza cookie... non si cancella entro il tempo stabilito PHP 1
H Record con scadenza in giorni PHP 2
max_400 php: sessione scadenza a tempo e reidirect - by max4001976 PHP 1
G Scadenza date PHP 3
emanuelevt scadenza sessioni PHP 26
J Scadenza Cookie Classic ASP 5
B Scadenza iscrizione utenti PHP 0
SolidSnake4 tempo scadenza sessioni PHP 6
A scadenza sessione o cookie? PHP 2
G Scadenza Variabili di Sessione Classic ASP 1
P C# Salvare una colonna del DataGridView XML 0
M pulsante per aprire una maschera che contiene controllo schede MS Access 0
M Leggere in un report il valore di una casella combinata di una maschera Database 0
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
S [VB.NET]: Coordinate immagini dentro una PictureBox Visual Basic 0
I stampare una stringa echo PHP 2
MarcoGrazia Riprendere una sessione interrotta PHP 0
L Rendere una parte trasparente Photoshop 3
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
K Visualizzare del html responsive in una Webview Sviluppo app per Android 0
otto9due Ordinare option di una select Javascript 5
N Come si crea una variabile dinamica da incrementare? Javascript 1
L Eliminazione di una pagina dalla gallery SEO e Posizionamento 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
L Riempimento di una tabella al click di un bottone Javascript 1
R Variabile non risconosciuta dentro una funzione PHP 1
C ACCESS Aprire maschera se valore non presente in una combo MS Access 7
A media degli elementi estratti da una query MySQL 0
spider81man Eliminare primo ed ultimo carattere di una colonna MySQL 0
pacemattia408 disattivazione di una function Javascript 4
G Eliminare l'effetto refresh di una pagina internet PHP 8
otto9due Inserire o aggiornare tabella my sql controllando una coppia di valori PHP 7
M Select Option dentro una Table jQuery 2
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
E Scrivere una data corrente in un pdf PHP 1
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
I Assegnare dati fetch request ad una variabile globale Javascript 0
Shyson Puntare ad una sotto directory WordPress 3
Stex1967 Salvare una immagine che si trova su porta TCP 8080 di altro sito PHP 7
S Selezionare ultimo record di una sotto query MySQL 27
V Query per una somma PHP 2

Discussioni simili