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!
- 1853 megtekintés
Hozzászólások
views modul
- A hozzászóláshoz be kell jelentkezni
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ó.
- A hozzászóláshoz be kell jelentkezni
Na pont ez itt a kerdes, ezt keresgetem en is.
Ilyen direktbe SQL join opciot pont nem talalok benne, nekem pedig pont az kellene.
A views modul amugy 99%-ban mindent tud, ami kene, csak pont ezt az egyet nem :(
- A hozzászóláshoz be kell jelentkezni
Ez mindíg pontosan így szokott lenni a views-zal :) Ami kész van, az pont nem jó. Mörfi2 törvény.
--
- Miért jó a mazochistának?
- Mert ha rossz, akkor jó. Ha meg jó, akkor rossz, tehát jó.
- A hozzászóláshoz be kell jelentkezni
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ó.
- A hozzászóláshoz be kell jelentkezni
vagy ezt a kodot beleszerelni a views-ba ;)
- A hozzászóláshoz be kell jelentkezni
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ó.
- A hozzászóláshoz be kell jelentkezni
szepen leirva itt lehet megtalalni. :)
---
Tévedni mindenkinek szabad, csak a mérnöknek észre kell vennie.
- A hozzászóláshoz be kell jelentkezni
Igen, a drupal.hu-n is probalkozom :D
- A hozzászóláshoz be kell jelentkezni
Views kilove, PHP-ba beagyazok egy select-et, aztan szevasztok.
- A hozzászóláshoz be kell jelentkezni
Bazki, megírtam a kínkeserves kódot neked egy fenti hozzászólásba, te meg itt huszárkodsz? :D Örülök hogy sikerült megoldanod.
--
- Miért jó a mazochistának?
- Mert ha rossz, akkor jó. Ha meg jó, akkor rossz, tehát jó.
- A hozzászóláshoz be kell jelentkezni