Joomla.it Forum
Non solo Joomla... => Sviluppo => : mattyfog 19 Sep 2010, 08:53:43
-
Salve a tutti,
sono alle prese con il mio primo componente per Joomla che non dovrà fare altro che visualizzare dei dati dal database in maniera molto facile. Il codice è lato backend poichè non è previsto l'frontend.
Ho provato giusto a scrivere le prime 2 righe di codice ma ho già un problema.
<?php
//no direct access
defined('_JEXEC') or die('Restricted access');
echo '<h1>Richieste Informazioni</h1>';
echo '<p>Di seguito verranno visualizzate tutte le richieste di informazioni salvate nel database.</p>';
$db =& JFactory::getDBO();
$query = "SELECT * FROM trekkingbiell_chronoforms_Info ORDER BY recordtime";
$db->setQuery($query);
$result = $db->loadRowList();
//print_r($result); echo'<br/><br/><br/>';
echo '<table><tbody>';
foreach ($result as $request)
{
echo '<td>';
echo '<tr><p>Nome:'.$request[5].'</p></tr>';
echo '<tr><p>Email:'.$request[6].'</p></tr>';
echo '</td>';
}
echo '</tbody></table>';
?>
Il problema è che mentre ci si aspetterebbe che venga visualizzata una tabella, il codice stampato dallo script è:
<h1>Richieste Informazioni</h1>
<p>Di seguito verranno visualizzate tutte le richieste di informazioni salvate nel database</p>
<p>Nome:Mario Rossi</p>
<p>Email:mario.rossi@email.it</p>
<p>Nome:Paola Rossi</p>
<p>Email:paola.rossi@emai.it</p>
<table>
<tbody>
<tr><td></td></tr>
<tr></tr>
<tr></tr>
<tr><td></td></tr>
<tr></tr>
<tr></tr>
</tbody>
</table>
Perchè?
-
perché tr (table row) è il wrapper per td (table data) e non viceversa!
echo '<tr>';
echo '<td><p>Nome:'.$request[5].'</p></td>';
echo '<td><p>Email:'.$request[6].'</p></td>';
echo '</tr>';
consiglio: usa sempre i nomi dei campi, mai la loro posizione nel recordset se usi ALL (*) nella query. se aggiungono un campo alla tabella sei fregato!!
ciao,
marco
-
Hai ragione :P
Grazie!
-
Anche se siamo un po' ot, come faccio ad associare un foglio di stile alla mia pagina backend?
Ho provato a scrivere all'inizio del codice del mio componente:
<?php
//no direct access
defined('_JEXEC') or die('Restricted access');
echo '<style>@import url(style.css);</style>';
...
...
e il file style.css si trova nella stessa cartella del file (al momento l'unico) del mio componente. Però non funziona!
-
addStyle
-
Ecco qua il codice completo:
//per associare il file style.css presente nella cartella administrator/components/com_showinforequest
$document =& JFactory::getDocument();
$document->addStyleSheet(JURI::root()."administrator/components/com_showinforequest/style.css");