problema tabelle

7 contenuti / 0 new
Ultimo contenuto
problema tabelle

salvea tutti , penso di avere un problema facilmente risolvibile ma che mi sta dando diversri grattacapi:vorrei semplicemente stampare a video una tabella in una story

questa è una tabella

 
 
 

 
 
 

 
 
 

ho provato tutti i tipi di filtraggio, mi compare il contenuto ma la tabella non viene visualizzata come mai?

puoi provare questo modulo
drupal.org/project/sheetnode

non l'ho mai provato ma forse fa quello che vuoi

Non ho capito molto bene cosa intendi per

Quote:
una tabella in una story
comunque questo codice di esempio mostra l'elenco dei contenuti (25) di tipo story in una tabella con paginatore. Anche se con il modulo Viste puoi fare la stessa cosa senza aggiungere nessuna riga di codice. Vedi VIDEO Drupal 6 creare calendar e relativa views Il video mostra come creare una vista per un tipo di contenuto.

<?php
function node_showscript_nodes() {
   global
$language;
    
$header = array(
      array(
'data' => t('Title'), 'field' => 'title', 'sort' => 'asc'),
      array(
'data' => t('Changed'), 'field' => 'changed', 'sort' => 'asc'),
      array(
'data' => t('Created'), 'field' => 'created', 'sort' => 'asc'),
      array(
'data' => t('Nid'), 'field' => 'nid', 'sort' => 'asc'),
     );
    
$query = "SELECT nid, title, created, changed FROM {node} WHERE type='story' AND status='1' AND language='$language->language'";
    
$query .= tablesort_sql($header);
    
$result = pager_query($query, 25);
     while (
$row = db_fetch_array($result)) {
      
$nid = $row['nid'];
      
$title = $row['title'];
      
$link = l(t($title), 'node/'.$nid, array('attributes' => array('class' => 'link', 'title' => $title)));
      
$formatted_created = date("d-m-Y H:i:s", $row['created']);
      
$changed = $row['changed'];
      
$formatted_changed = format_interval(time() - $changed);
      
$rows[] = array($link, $formatted_changed, $formatted_created, $row['nid']);
     }
     if (!
$rows) {
      
$rows[] = array(array('data' => t('Non ci sono record in questa tabella'), 'colspan' => 4));
     }
    
$output = theme('table', $header, $rows);
    
$output .= theme('pager', NULL, 25, 0);
     print
theme('page', $output);
}
 
?>

quello che intendo io è che i risultati che mi da una query, effettuata in una story li voglio stampare ( organizzare ) in una tabella, solo che il codice html all'interno della story non lo riconosce.
bisogna installare qualche modulo?oppure bisogna utilizzare le viste?se bisogna utilizzare le viste cosa devo fare ?scusate l'ignoranza ma sono alle prime armi

grazie per le risposte,
provo a spiegarmi meglio:

Premessa, ho cominciato da poco ad utilizzare drupal ed ho la versione 6.20.

ho creato una story page, all'interno della quale ho inserito del codice php per interrogare una tabella del DB.
Riesco ad ottenere i dati dal DB, ma questi dati, quando visualizzati, compaiono uno dietro l'altro senza nessuna formattazione.
Io vorrei, una volta ottenuti i dati, poterli inserire in un div, oppure in una tabella, vorrei poter inserire un tag BR, ecc.
Quando digito i comando html per ottenere quanto detto, la visualizzazione dei dati non cambia, è come se la story page ignorasse i comandi html.
Il formato di input è su PHP.
Ho provato anche a creare una nuova page e una nuova story con formato input full HTML (senza inserire codice php) per verificare se mi accettava i tag DIV, TABLE, BR, ecc.., ma neanche in questo modo sono riuscito a costruire una tabella.
Ho provato a togliere tutti i filtri dal Formato di input, ma così riconosce i tag HTML ma non il PHP, quindi mi disegna la tabella, ma non mi visualizza i dati.

Spero di essermi spiegato meglio e ancora grazie per l'aiuto.

Questo è il codice contenuto nel body della story:

<?php
session_start
();
$uid=$_SESSION['id_user'];
$username=$_SESSION['nome_user'];
$archivio_clienti="xxxxxxxxxx";
$db_host = "xxx.xxx.xxx";
$db_user = "xxxxxxxxxx";
$db_pass = "xxxxxxxxxx";
$db_name = "xxxxxxxxxx";
$db=mysql_connect($db_host, $db_user, $db_pass);
if (
$db==false){
   die(
"Errore nella connessione. Verificare i parametri nel file config.php");
}else{
   echo
"connessione avvenuta correttamente";
}
mysql_select_db($db_name, $db);
$query="SELECT * FROM $archivio_clienti WHERE uid = $uid ";
$risultato=mysql_query($query,$db);
?>

<table whidt= "90%" border = "2" align = "center">
<tr>
      <th>uid</th>
      <th>email</th>
      <th>data ordine</th>
</tr>
<?
while($riga = mysql_fetch_array($risultato)){
   $user_id=$riga['uid'];
   $email=$riga['primary_email'];
   $created=$riga['created'];
   $stato_ordine=$riga['order_status'];
   $data_ordine=date('d/m/Y', $created);
   ?>
      <tr>
         <td><?echo "$user_id"; ?></td>
         <td><?echo "$email"; ?></td>
         <td><?echo "$data_ordine";?></td>
      </tr>
<?
}
?>
</table>

Prova ad entrare nella pagina di configurazione dei formati di input e controlla che il ruolo dell'utente che stai utilizzando sia abilitato a usare i filtri full HTML e PHP code.

tuosito/admin/settings/filters

Ciao roberto.c87,
vedi le funzioni di Drupal sono fatte in modo da ritornare un valore e il codice da prendere come esempio sarebbe quello che ti ho postato sopra. Senza entrare in troppe spiegazioni secondo me il tuo codice dovrebbe essere modificato così per funzionare in Drupal 6 ricordandoti di aprire e chiudere i tag di php e naturalmente usare il php Code format come indichi sopra:

<?php
$header
= array(
      array(
'data' => t('ID'), 'field' => 'uid', 'sort' => 'desc'),
      array(
'data' => t('Email'), 'field' => 'changed', 'sort' => 'desc'),
      array(
'data' => t('Data ordine'), 'field' => 'data_ordine', 'sort' => 'desc'),
     );
$uid=$_SESSION['id_user'];
$query = "SELECT * FROM {archivio_clienti} WHERE uid = $uid";
    
$query .= tablesort_sql($header);
    
$result = pager_query($query, 25);
     while (
$riga = db_fetch_array($result)) {
      
$user_id = $riga['uid'];
      
$email = $riga['primary_email'];
      
$created = $riga['created'];
      
$stato_ordine = $riga['order_status'];
      
$data_ordine = date('d/m/Y', $created);
      
$rows[] = array($user_id, $email, $data_ordine);
      }
     if (!
$rows) {
      
$rows[] = array(array('data' => t('Non ci sono record in questa tabella'), 'colspan' => 4));
     }
    
$output = theme('table', $header, $rows);
    
$output .= theme('pager', NULL, 25, 0);
     print
theme('page', $output);
 
?>

Spero che ti serva di aiuto, tu controlla il nome dei campi e della {tabellasenzaprefisso} del db se li ho messi giusti, poi evita session_start e la connessione che non serve in quanto Drupal ha le db_query per db mysql e postgres. Il risultato è una tabella temizzata con paginatore ogni 25 risultati. Bello no?