WHERE nome = 'valerio'
farà vedere solo i records con quel nome.nome ASC
crescentenome DESC
decrescenteCiao!qualcuno che ha utilizzato la sezione WHERE per filtrare i dati? :)
Il mio problema è, come faccio a impostare in tale sezione un confronto tra i dati inseriti dall'utente in un form(nel mio caso di ricerca) e i dati presenti nel database, per poi visualizzare il tutto?
qualcuno mi può dare una mano?grazie...
$db =& JFactory::getDBO();
if($_POST)
{
$titolo=$_POST['txtTitolo'];
$genere=$_POST['txtGenere'];
$regista=$_POST['txtRegista'];
$attore=$_POST['txtAttore'];
...
{nome}{cognome} {email}
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Nome</label>
<input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="text_1" name="nome" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Cognome</label>
<input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="text_2" name="cognome" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Email</label>
<input class="cf_inputbox required validate-email" maxlength="150" size="30" title="" id="text_3" name="email" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<?php
$db =& JFactory::getDBO();
if ($_POST)
{
$titolo=$_POST['txtTitolo'];
$genere=$_POST['txtGenere'];
$regista=$_POST['txtRegista'];
$attore=$_POST['txtAttore'];
}
$flag = 0; // inizializzazione della variabile flag
$leggi= "SELECT * FROM #__film"; // parte iniziale della query
//Controllo inserimento dei campi
if ($titolo != '')
{
$leggi = $leggi." WHERE title LIKE '%$titolo%'";
$flag=1;
}
if ($genere != '')
{
if ($flag==0)
{
$leggi = $leggi." WHERE genre LIKE '%$genere%'";
$flag=1;
}
else
{
$leggi = $leggi." AND genre LIKE '%$genere%'";
}
}
if ($regista != '')
{
if ($flag==0)
{
$leggi = $leggi." WHERE director LIKE '%$regista%'";
$flag=1;
}
else
{
$leggi = $leggi." AND director LIKE '%$regista%'";
}
}
if ($attore != '')
{
if ($flag==0)
{
$leggi = $leggi." WHERE actors LIKE '%$attore%'";
$flag=1;
}
else
{
$leggi = $leggi." AND actors LIKE '%$attore%'";
}
}
$leggi = $leggi." ORDER BY title"; // si aggiunge la parte finale della query
$query = mysql_query($leggi);
if (!$query)
{
echo "Errore nella esecuzione della query !";
exit();
}
/* la funzione mysql_num_rows() restituisce un numero intero corrispondente
al numero di righe del risultato relativo alla query effettuata.
*/
$numero = mysql_num_rows($query);
if ($numero == 0) // si controlla se esiste almeno un record
{
echo "<br /><center>Non esiste alcun record con i dati inseriti !</center>";
exit();
}
$delta=JURI::base()."components/com_chronocontact/uploads/form_prova/";
$delta=http://www.tuosito.xxx/components/com_chronocontact/uploads/form_prova/";
<p>
{nome} {cognome} {email}<br/><br/>
</p>
<p>
<?php
$alfa="{file}";
$beta='<img alt="file" src="';
$delta=JURI::base()."components/com_chronocontact/uploads/form_prova/";
$teta='" />';
echo $beta.$delta.$alfa.$teta ;
?>
<br/><br/>
{edit_record} {delete_record}
</p>
<br/><br/>
<h1>Listino Completo Articoli</h1>
<br /><br />
<table width="100%" border="0" bordercolor="#666666" cellspacing="1" cellpadding="1">
<tr>
<th scope="col">ID</th>
<th scope="col">Codice</th>
<th scope="col">Articolo</th>
<th scope="col">Qta</th>
<th scope="col">Prezzo €</th>
</tr>
<tr>
<td>
{cf_id}
</td>
<td>
{t_Codice}
</td>
<td>
{t_Articolo}
</td>
<td>
{t_Quantita}
</td>
<td>
{t_Prezzo}
</td>
<td><div align="center">
{edit_record}</div>
</td>
<td><div align="center">
{delete_record} </div>
</td>
</tr>
</table>
</p>
<br />
<table width="50%" border="0" cellspacing="5" cellpadding="5">
<tr>
<td><div align="center">
{new_record}</div>
</td>
<td><div align="center">
</div>
</td>
<td><div align="center">
</div>
</td>
</tr>
</table>
<br />
<p>{pagination}</p>
<br /><br />
La sezione Query Realted Setting, al momento ha svelato queste cose:
In Query SQL possiamo mettere qualcosa come questaWHERE nome = 'valerio'
farà vedere solo i records con quel nome.
...
WHERE Visibile = 'Si'
<?php
$session =& JFactory::getSession('ricerca');
$search_array = array('Titolotesi','Abstract','Parolechiave','Annotesi', 'Visibile');
$cerca = array();
foreach ( $search_array as $search ) {
$value = JRequest::getVar($search, '' , 'post');
if ( $value ) {
$cerca[] = "WHERE `$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 "";
}
?>
echo " WHERE ".implode(' AND ', $cerca)." AND `visibile` = 'Si' ";
SELECT * FROM `jos_chronoforms_Tesi` WHERE Visibile="Si"
funziona correttamente.echo " WHERE ".implode(' AND ', $cerca)." AND `Visibile` = 'Si' ";
che mi hai indicato subito, normalmente dovrebbe funzionare?WHERE `Visibile` = 'Si'
il filtro non funziona. <?php
$session =& JFactory::getSession('ricerca');
$search_array = array('Titolotesi','Abstract','Parolechiave','Annotesi', 'Visibile');
$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)." AND `Visibile` = 'Si' ";
$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)." AND `Visibile` = 'Si' ";
}
else
{
echo "WHERE `Visibile` = 'Si'";
}
?>
echo "WHERE `Visibile` = 'Si'";
in fondo, come mi hai indicato.questo menù dovrebbe essere uguale per tutti gli utenti, ma portare a pagine che avranno ovviamente contenuti dedicati solo all'utente Caio
<p>
{nome} {cognome} {email}<br/><br/>
</p>
<p>
<?php
$alfa="{file}";
$beta='<img alt="file" src="';
$delta=JURI::base()."components/com_chronocontact/uploads/form_prova/";
$teta='" />';
echo $beta.$delta.$alfa.$teta ;
?>
<br/><br/>
{edit_record} {delete_record}
</p>
<br/><br/>