Salve
ho seguito la guida "ChronoConnectivity. Infiniti modi per vedere e gestire i contenuti di Joomla" per creare un form per inserire criteri di ricerca su un database che in seguito visualizzasse gli eventuali risultati. Il problema è che al primo accesso mi visualizza tutti i record contenuti nella tabella su cui faccio la query, e che se chiudo la pagina dopo aver effettuato una ricerca all'accesso successivo visualizza i risultati della ricerca precedente. Ho modificato il codice per adattarlo alle mie esigenze, ve lo posto qui.
Ringrazio chiunque mi darà una mano.
Where Sql<?php
$session =& JFactory::getSession('ricerca');
$search_array = array('finalita','prodotto');
$cerca = array();
foreach ( $search_array as $search ) {
$value = JRequest::getVar($search, '' , 'post');
if ( $value ) {
$cerca[] = " `$search` LIKE '%$value%' ";
}
}
if (empty($cerca) and (JRequest::getVar('submit','no','POST')=="Trova")) {
$session->set('cerca','0','ricerca');
JRequest::setVar('limitstart',0,'Get');
}
if ( !empty($cerca) ){
echo " WHERE ".implode(' AND ', $cerca);
$session->set('cerca',$cerca,'ricerca');
}
elseif ((JRequest::getVar('submit','no','POST')<>"Trova") and ($session->get('cerca',0,'ricerca')<>0))
{
$cerca=$session->get('cerca',0,'ricerca');
echo " WHERE ".implode(' AND ', $cerca);
}
else
{
echo "";
}?>
Header
<?php
$finalita="NULL";
$prodotto="NULL";
?>
<table border="0" cellpadding="5" cellspacing="0" >
<tr><td>
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 50px;">finalià</label>
</td>
<td>
<select class="cf_inputbox validate-selection" id="select_0" size="1" title="" name="finalita">
<?php
if ($result = mysql_query("SELECT * FROM jos_chronoforms_test2 GROUP BY finalita")) {
while ($row = mysql_fetch_array($result)) {
$nId = $row["finalita"];
?>
<option value="<?php echo $nId; ?>" <?if($finalita==$nId) echo 'selected="selected"'?><?php echo $row["finalita"]; ?></option>
<?php
}
}
?>
</select>
</td>
<tr>
<td>
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 50px;">prodotto</label>
</td>
<td>
<select class="cf_inputbox validate-selection" id="select_2" size="1" title="" name="prodotto">
<?php
if ($result = mysql_query("SELECT * FROM jos_chronoforms_test2 GROUP BY prodotto")) {
while ($row = mysql_fetch_array($result)) {
$nId = $row["prodotto"];
?>
<option value="<?php echo $nId; ?>" <?if($prodotto==$nId) echo 'selected="selected"'?><?php echo $row["prodotto"]; ?></option>
<?php
}
}
?>
</select>
<>
</td> </tr>
<tr>
<td>
Importo: </td><td><input type="text" name="importo" />
</p)
<p style="text-align:center;"> </td>
<tr>
<td></td>
<td>
<input type="submit" value="Calcola" name="submit" style='width:80px;
color:#cccccc; background-color:#e71f0f; cursor:pointer;' />
<input type="reset" name="reset" value="Reset" style='width:80px;
color:#cccccc; background-color:#e71f0f; cursor:pointer;' />
</td>
<>
</table>
[br /][br /]
<table border="1" cellpadding="10" cellspacing="0" bgcolor="ffffff" width="98%">
<tr >
<td> <font color="#e71f0f"> FINALITA' </td>
<td> <font color="#e71f0f"> PRODOTTO </td>
<td> <font color="#e71f0f"> DURATA</td>
<td> <font color="#e71f0f"> RATA</td>
Body
<?php
$db =& JFactory::getDBO();
$query = "
SELECT *
FROM jos_chronoforms_tes2 WHERE finalita= $finalita AND prodotto = $prodotto
";
$db->setQuery($query);
$nomes = $db->loadRow();
$tasso= $MyRow->tasso;
$durata= $MyRow->durata;
$importo = $_POST['importo'];
$TaPa=$tasso /12;
$TaPaPlus= 1 + $TaPa;
$PaA= 12 * $durata;
$secondo=pow($TaPaPlus,$PaA);
$secondominus=$secondo - 1;
$terzo=$TaPa / $secondominus;
$rata= $importo * $secondo * $terzo;
?>
<tr>
<td><font color="#000000"> {finalita} </td>
<td><font color="#000000">{prodotto}</td>
<td><font color="#000000">{durata}</td>
<td><font color="#000000"> <?php echo $rata; ?> </td>
</tr>