Back to top

Autore Topic: Componente Backend: non viene visualizzata la tabella!  (Letto 1862 volte)

Offline mattyfog

  • Appassionato
  • ***
  • Post: 346
    • Mostra profilo
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.
Codice: [Seleziona]
<?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 è:
Codice: [Seleziona]
<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è?

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Componente Backend: non viene visualizzata la tabella!
« Risposta #1 il: 19 Set 2010, 09:07:13 »
perché tr (table row) è il wrapper per td (table data) e non viceversa!

Codice: [Seleziona]
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
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline mattyfog

  • Appassionato
  • ***
  • Post: 346
    • Mostra profilo
Re:Componente Backend: non viene visualizzata la tabella!
« Risposta #2 il: 19 Set 2010, 10:08:23 »
Hai ragione :P
Grazie!
« Ultima modifica: 19 Set 2010, 10:12:16 da mattyfog »

Offline mattyfog

  • Appassionato
  • ***
  • Post: 346
    • Mostra profilo
Re:Componente Backend: non viene visualizzata la tabella!
« Risposta #3 il: 19 Set 2010, 10:32:39 »
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:
Codice: [Seleziona]
<?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!

mau_develop

  • Visitatore
Re:Componente Backend: non viene visualizzata la tabella!
« Risposta #4 il: 19 Set 2010, 10:43:08 »
addStyle

Offline mattyfog

  • Appassionato
  • ***
  • Post: 346
    • Mostra profilo
Re:Componente Backend: non viene visualizzata la tabella!
« Risposta #5 il: 19 Set 2010, 12:27:56 »
Ecco qua il codice completo:
Codice: [Seleziona]
//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");

 



Web Design Bolzano Kreatif