Campo evidenzia e controllo mese sto impazzendo

marco4001

Utente Attivo
28 Mar 2008
30
0
0
Salve a tutti, spero possiate aiutarmi.

Ho un database con 2 campi uno evidenza e uno mese (mm). Il campo evidenzia, deve cambiare stato da si a no, se il mese mm e superiore al mese corrente.

il codice e' il seguente



<?


// connessione

$dbhost = 'xxxxxxxxx';
$dbusername = 'xxxxxxxxxxx';
$dbpasswd = 'xxxxxxxxxxx';
$database_name = 'xxxxxxxxxxxx';
$table ="interrogazione";

$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd")
or die ("Couldn't connect to server.");

$db = mysql_select_db("$database_name", $connection) or die("Couldn't select database.");

//

// base query


$query = "SELECT * FROM $table";

$result = mysql_query($query);

// se nn ce nulla
if (mysql_num_rows($result)==0) echo " ";
else {



while($row = mysql_fetch_array($result))

{
// controllo data

// spezzo la data corrente


$day = date("d",time());
$month = date("m",time());
$year = date("Y",time());

// assegnazione variabili giorno, mese, anno

$gg = "$row[gg]";

$mm = "$row[mm]";

$aa = "$row[aa]";



if ($mm > $month ) {

mysql_query("UPDATE $table SET `evidenzia` = 'no' WHERE `evidenzia` = 'si'");

}

else

{

mysql_query("UPDATE $table SET `evidenzia` = 'si' WHERE `evidenzia` = 'si'");

}





// fine



//




}
}









?>



non funziona nel senso che mi cambia lo stato negli altri record dove mm e' minore di mese corrente ($month = date("m",time());) mentre dove e maggiore non fa nulla :(

grazie
 
ciao
due cose
metti un var_dump dopo la lettura dei mesi

PHP:
$day = date("d",time());
$month = date("m",time());
$year = date("Y",time());
// assegnazione variabili giorno, mese, anno
$gg = "$row[gg]";
$mm = "$row[mm]";
$aa = "$row[aa]";
var_dump($month);
var_dump($mm);
if ($mm > $month ) {
//eccetera......
fai delle prove con $mm < $month e $mm >= $month e vedi cosa ti restituisce

inoltre volevo chiederti a che ti serve uppare a si il record che ha gia si

PHP:
else
{
mysql_query("UPDATE $table SET `evidenzia` = 'si' WHERE `evidenzia` = 'si'");
}

dimenticavo secondo me non ci vogliono quei pseudo apici
SET evidenzia =...... WHERE evidenzia =......
 
non cosi:
PHP:
<?
ma così:
PHP:
<?php
non così:
PHP:
if (mysql_num_rows($result)==0) echo " ";
ma così:
PHP:
if (mysql_num_rows($result)==0) 
{
echo "";
}
non così
PHP:
$gg = "$row[gg]";
$mm = "$row[mm]";
$aa = "$row[aa]";
ma così:
PHP:
$gg = $row['gg'];
$mm = $row['mm'];
$aa = $row['aa'];
 
Ultima modifica:

Discussioni simili