Joomla.it Forum
Componenti per Joomla! => Gestione Form => : deadwolf 06 Mar 2013, 21:35:23
-
Ho una tabella in cui ci sono più valori esempio:
marca - modello - colore - porte
Attraverso l'uso di un DB Multi Record Loader e di un url sono riuscito a far caricare in una pagina solo i dati inerenti a ad un determinato valore MARCA
Ma se io in questa pagina volessi dividere ancora in due o più liste il MODELLO che ha 3 PORTE dai MODELLI che hanno 5 PORTE come faccio?
Non so come farmi capire.. se con l'url passo il parametro col quale filtro i dati estratti dalla tabella questi poi li posso far visualizzare tutti come una singola lista già con i dati filtrati grazie al parametro passato dall'url, ma se poi volessi da questi dati applicare un'altro filtro per suddividere la lista in due.. come faccio?
Ho provato a servirmi delle mie scarse competenze in php con una query SELECT tabella WHERE modello= berlina AND porte=5 ma non ho ottenuto molti risultati.. volevo sapere se esiste un'alternativa con chronoform senza dover pasticciare troppo col php...
-
Ciò di cui ho bisogno forse è da mettere in "WHERE statement"
Come avevo già letto ieri in una risposta (http://forum.joomla.it/index.php/topic,186672.0.html) di vales.
Il problema principale è che anche se cerco su GOOGLE non vedo come ottenere un codice che possa servirmi.
I valori della tabella unità sono:
uni_cond - uni_pal - uni_sca - uni_pia - uni_tip - uni_ute
I valori della tabella palazzina sono:
cand_inte - pal_inte - pal_sca1 - pal_sca2 - pal_sca3 - pal_sca4
Ho riprovato a dedicarmi al php creando questo codice che naturalmente non capisco perchè non funzioni:
<table id="db_multi_record_loader" width="100%" border="0">
<tr>
<?php
$db =& JFactory::getDBO();
$query = "SELECT FROM #__chronoforms_data_addpalazzine WHERE cand_inte='".$form->data['rec']."'";
$db->setQuery($query);
$db->query();
foreach ($bb as $a)
{
echo "
<td> ".$a['pal_inte']." </td>
";
if( $a['pal_sca1'] == 'Scala A')
{
echo"<tr>Scala A</tr>";
$db =& JFactory::getDBO();
$query = "SELECT FROM #__chronoforms_data_addunita WHERE uni_cond='".$form->data['rec']."' AND uni_sca='A'";
$db->setQuery($query);
$db->query();
foreach ($bb as $a)
{
echo "<tr>".$a['uni_ute']."</tr>";}
}
}
?>
</tr>
</table>
Per ottenere il seguente risultato:
(non ho ancora aggiunto il valore uni_pia perchè già così non funziona..)
(http://img40.imageshack.us/img40/1653/tabellaunit.png)
Esiste un modo più semplice o devo dedicarmi al php?.. dove sbaglio nel codice?.. Ho paura di star puntando ad imprese un po' troppo ardue..
-
Proprio nulla vero? Nessuna minima idea?
-
Nelle select che hai mostrato non hai messo i campi che vuoi estrarre oppure se li vuoi tutti metti l'asterisco *
-
Grazie mille Vales per la risposta... Mi vengono altri dubbi in mente visto che ho riscritto il codice e sot provando ad utilizzare chronoform con meno php possibile...
Ma è possiible fare la stessa cosa in modo molto più semplice attraverso WHERE statement?
Es:
<?php
$bb=$form->data['elencopala'];
foreach ($bb as $a){
echo "<tr>";
echo "<td colspan=\"4\">".$a['pal_inte']."</td>";
echo "</tr>";
$bb=$form->data['elencounita'];
foreach ($bb as $a) {
echo " sca".$a['uni_sca']." ";
echo " ute".$a['uni_ute']." ";
}
}
?>
Where statement DB Multi Record Loader, WHERE Statement:
`uni_sca` = '{pal_sca}' AND `uni_cond` = '{cand_inte}'
E' possibile? dove sbaglio?
Già attraverso Request Param: rec, filtro uni_cond.. mi è necessario rifiltrarlo attraverso l' AND nel WHERE statement?
-
up..