[SOLVED] - Drupal - Tablazat megjelenitese SQL query alapjan

Hello,

aki esetleg Drupal-ban otthonosan mozog:

Hogyan tudnek hatekonyan olyat elerni, hogy egy SQL select query eredmenye tablazatos formaban megjelenjen egy node-on belul (+ ha ez mar sikerult, akar meg formazast is adhassak neki)?

Magyarul: Egesz pontosan olyat szeretnek, hogy egy SQL query-t beagyazok egy adott node tipusba es a node megjelenitese eseten allitsa elo nekem a tablazatot az adatbazisbol kiszopott adatok alpjan.

Van esetleg ilyen celra valami modul, ami elkerulte a figyelememet?

Koszi!

Hozzászólások

Hát ja, ha van views kiterjesztése valamilyen modulnak, ami pont a te SQL query-d összeállítására megfelelő, akkor igen. :)
(Vagy megírod magadnak a view field-eket)
--
- Miért jó a mazochistának?
- Mert ha rossz, akkor jó. Ha meg jó, akkor rossz, tehát jó.

Erre szerintem egyszerűbb írni egy modult. Benne:


function modulneve_nodeapi(&$node, $op, $a3, $a4) {
  switch ($op) {
    case 'view':
      $rows = array();
      $result = db_query("SELECT ...");
      while ($item = db_fetch_array($result)) {
        $row = array();
        foreach ($item as $i) {
          $row[] = array(
            'data' => $i,
          );
        }
        $rows[] = $row;
      }

      $header = array(t('Firstcol'), t('Secondcol'), ...);

      $node->content['mysqlqueryresult'] = array(
        '#value' => theme('table', $header, $rows),
        '#weight' => 1,
      );
      break;
  }
}

Ajánlott megnézni a theme_table API doksiját, ha elakadsz.
--
- Miért jó a mazochistának?
- Mert ha rossz, akkor jó. Ha meg jó, akkor rossz, tehát jó.

Ezt views-ba? Inkább ne. A views teljesen másképp működik. array-eket kell készíteni a táblákról és a köztük levő join kapcsolatról, plusz metainformációs függvényeket kell írni, plusz ezmegaz. Szerintem nem éri meg. Írj egy saját modult az én kódommal. Jobban jársz szerintem sokkal. Meg gyorsabb is lesz.

--
- Miért jó a mazochistának?
- Mert ha rossz, akkor jó. Ha meg jó, akkor rossz, tehát jó.

szepen leirva itt lehet megtalalni. :)
---
Tévedni mindenkinek szabad, csak a mérnöknek észre kell vennie.

Views kilove, PHP-ba beagyazok egy select-et, aztan szevasztok.