Ragazzi devo estrarre dei dati dal database in base a che range di date inserisce l'utente. Quindi per non appesantire troppo la pagina volevo scrivere delle funzioni in un altro file php per poi richiamarle nel codice di origine. Ma quando vado a richiamare variabili esterne alla funzione mi dà l'errore che non riconosce le variabili (visto che quelle delle funzioni sono locali, e quelle esterne sono globali). Come risolvere questo problema visto che l'uso di global è sconsigliato?
Vi posto il codice del file di appoggio (config.php):
codice:
<?php
$host='localhost';//inserisci host
$user='root';//utente MySql
$pass='';//password MySql
$db='test';//nome database
$conn=mysql_connect($host,$user,$pass) or die("Impossibile connettersi a MySql");
mysql_select_db($db,$conn) or die("Impossibile selezionare il database $db");
$tabella_estrazioni='estrazioni';
function sto($pos){
$sql2="SELECT ".$pos." FROM ".$tabella_estrazioni." WHERE no='".$no."' AND data>='".$data_inizio."'<='".$data_fine."'";
$risult2=@mysql_query($sql2,$conn) or die(mysql_error());
$num2=@mysql_num_rows($risult2);
if($num2==0){
echo "";
$ris2=array();
}else{
while($row2=@mysql_fetch_array($risult2)){
$ris2[]=$row[$pos];
}
sort($ris2);
reset($ris2);
$ritardo2=$ris2[$num2];
echo "$ritardo2";
$ris2=array();
return $ritardo2;
}
}
}
?>
Poi vi posto il codice sorgente (la prima parte in cima a tutto il codice, e la seconda il richiamo della funzione):
codice:
<?php
include_once("config.php");
if(!isset($_POST['submit']))
{
$sel_data_inizio="01/01/1945";
$sel_data_fine=date("d/m/Y", time());
$data_inizio=date("Y-m-d", strtotime(str_replace('/', '-', $sel_data_inizio)));
$data_fine=date("Y-m-d", strtotime(str_replace('/', '-', $sel_data_fine)));
}
?>
codice:
[...]
if($num==0){
echo "<tr><td>$no</td><td></td><td>".sto($pos)."</td><td></td><td></td></tr>";
$ris=array();
}
[...]