Tablazat megjelenitese SQL query alapjan

zptoth képe

Sziasztok!

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!

crt képe

Szia.

A views kell Neked, amennyiben nem külső adatbázisról van szó.

Üdv: Zoli

0
0
zptoth képe

Szia!

Azt mar nezegettem, de meg nem talaltam meg benne pont ezt a lehetoseget. (meg kezdo drupalos vagyok)
Valami kozelitot tudnal mondani, hogy azon belul merre keressem?

Tulajdonkeppen az Ubercart-hoz szeretnek kulonbozo product sablonokat krealni, amik reszletes speckot tartalmaznak, szoval belso adatbazisrol van szo. (csinalnek neki sajat tablat es gyakorlatilag join-ok segitsegevel szednem elo, amire epp szukseg van)

Koszi a valaszt!

0
0
aboros képe

a views modulban új nézet hozzáadásával hozhatsz létre új nézeteket :)
neked majd az kell, hogy 'page' -> provide page view, persze az is lehet, hogy nem page -ként hozod létre, akkor a blokk -nál kell a provide block -ot bekapcsolni, és azt majd beleágyazni a node -okba, erre is van több módszer is.
aztán type -> table,
utána a 'fields' -nél adhatod meg milyen mezőket akarsz látni majd...
a filtersnél tudod a szűrőket beállítani,
stb.

próbálgasd és aztán konkrét problémára kérdezz rá inkább szerintem, mert az, hogy 'valami közelítő hogy merre keressem' az általában a readme -ben benne van, vagy ha mégse, három másodperc alatt lehet találni okosságokat a témában. éljen a huszonegyedik század!

off: köszi ninja, hogy megteremtetted nekünk... :D

0
0

-
clear: both;

zptoth képe

Szia!

Odaig jutottam el, hogy tudtam tablazatot definialni es elhelyezni, hogy melyik panelben szeretnem latni.
Viszont a szuro feltetelekkel nem boldogultam ugy, ahogy szerettem volna.

Tulajdonkeppen az Ubercart-hoz szeretnek kulonbozo product sablonokat krealni, amik reszletes speckot tartalmaznak, szoval belso adatbazisrol van szo. Csinalnek neki sajat tablat es gyakorlatilag join-ok segitsegevel szednem elo, amire epp szukseg van.

Most azon aponton allok, hogy valahogy select parametereket kene megadnom.

Probalgattam a filters menupontot az adott tabla 'Filters' menupontja alatt, de kicsit kodos, hogy hogy lehet benne ertelmes relaciokat osszehozni.

Egeszen pontosan azt nem tudom, hogy a filterezesi kriteriumokat honnan veszi es miert pont azokat es hogy tudnek azokon egy kicsit en is varialni. Na ez lenne a lenyeg!

Koszi a valaszt!

0
0
aboros képe

'variálni' az argumentumokkal tudsz egy nézeten.
teljesen nem látom ezt át, de a views sem 'tábla' szinten kezeli ám a dolgokat, azokat a 'mezőket' választhatod akár fieldnek, filternek, argumentumnak, satöbbi, amiket a telepített modulok definiálnak... a moduloknak lehetőségük van beépülni a viewsba. aztán ezt vagy megteszik vagy nem.

viszont emiatt akár te magad is írhatsz egy minimodult, ami 'beépíti' a neked kellő mezőket.

0
0

-
clear: both;

zptoth képe

Szoval a 'Get help' menupont alatt errol igy szolanak:

Filters
Views may be filtered to restrict the view on a number of criteria.

es alatta felsorolva, hogy mik vannak

Na ebbe szeretnek en belevajni, hogy az altalam hasznalni kivant tablazatok szukseges oszolpai is szerepeljenek itt.

0
0
zptoth képe

Eppenseggel taxonomy term, mint filterezesi opcio van, ami mar kozelit is, de azert csak korrektebb lenne egy az egyben (SQL select jelleggel) hivatkozni.

0
0
zptoth képe

Hihetetlen, hogy milyen kozelito megoldasok vannak!
Ezt pl. csak egy kicsit kellett volna meg tovabbgondolni megvalositas elott:

http://drupal.org/project/relatedviews

0
0
zptoth képe

Ez viszont nagyon a baratunk lesz: http://drupal.org/project/viewfield

0
0
aboros képe

"korrektebb lenne egy az egyben" - szerintem a viewsnak nem az a célja.
ha akkora sql májer vagy és neked ez így nagyon amatőr és fapados, akkor a feladatot úgy oldjad meg, hogy megírod pontosan bele egy saját modulba, amit akarsz. vagy az nem megy, csak elismert és baromi hasznos modulok fikázódása, meg dzsoinokkal dobálózás...
[próbáltam tízig számolni, de hatnál elpattant az ideg]

0
0

-
clear: both;

zptoth képe

Tavol alljon tolem!
Csak boszankodom, hogy mennyire kozel jarok, de megsem.

0
0
pp képe

A views csak node-okra működik.

A feladat pontos ismerete esetén lehet megmondani, hogy megoldható-e programozás nélkül, vagy egyszerűbb egy pár soros modult írni hozzá.

pp

0
0
zptoth képe

Na ez itt a kerdes tulajdonkeppen.
Atnezegettem a tablazatokat az adatbazisban es itt-ott talaltam olyan oszlopokat egyes tablakban, amik a szurofeltetelek kozott is ott figyelnek.

Nekem kb. annyi kene, hogy a product tabla bizonyos oszolpanak ertekeivel tudjak ossze-join-oltatni egy masik tablaban levo ertekeket, es azokat a tablazatban tudjam megjeleniteni.

Megjelenites - mar OK
Join feltetel megcsinalasa - meg nem tiszta

0
0
zptoth képe

Ugy latom a haversrac is valami hasonlot szeretne, mint en:

http://groups.drupal.org/node/3853

0
0
zptoth képe

Haaaaaaaa, az egyel feljebb linkelt kis szosszenetbol kiolvasva kiprobaltam, es lass csodat, valoban, a CCK megcsinalja a szukseges hook-ot a views szamara es az adott field feltunik a filterezesi opciok kozott is.

todo: keresni valami olyan CCK megoldast, amivel egy tetszoleges tabla tetszoleges oszlopara lehetne hivatkozni. Ha ez meg lenne, akkor kesz is lenne a join, mindefele manualis ganyolas nelkul.

Otleteket szivesen fogadok am! :)

Lahet, hogy ugy is jo lesz, ha pl. csinalunk egy sehol nem hasznalt content type-ot, amire rapakolgatjuk a szukseges tablakra/oszlopokra hivatkozo valamilyen CCK filed-eket.

Remelem nem beszelek hulyeseget...

Egyedul az a kerdes merul fel itt bennem, hogy akkor ilyen modon node-okra vagy a tablakra fog vonatkozni a join...

0
0
Paal képe

Leírnád végre PONTOSAN mit is szeretnél? Lövöldözöl a vakvilágba, nem is sejtjük mit szeretnél. Így nem tudunk segíteni!

Üdv, Pali

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

zptoth képe

Ubercart modul segitsegevel epitek egy katalogust vagy webshopot (ahogy vesszuk)
Az egyes termekekhez szeretnem, ha reszletes specifikaciot tudnek megjelniteni.
Az Ubercart alap esetben egy eleg egyszeru (page kaliberu) oldalt kinal + par parametert meg lehet adni a termekekhez, ugy mint kulonbozo fajtaju arak, termek szamok, meretek.
Viszont pl. egy szamitogep eseteben akad par egyeb erdekes parameter, amit erdemes feltuntetni.
Mivel en sok es sok fele szamitogepet szeretnek a katalogusba felvenni, nem tartom celravezetonek, ha egyenkent tablazatba bepotyogjuk az adatokat, amit aztan rab@-unk a page-re.
Ezzel a kulonbozo parameterekre valo preciz kereses, ill. parameterek alapjan torteno osszehasonlitas szerintem lehtetlenne valik.
Ezert gondoltam valami olyasmire, hogy a pl. product number alapjan egy jol megkonstrualt tablazathalmazbol lenne inkabb erdemes kiolvasni az adatokat. Erre pedig valami adatbazis lekerdezo nyelvezet tunik inkabb alkalmasnak, mindenfele Taxonomy term-ek vagy Node ID-k manualis definialgatasa / mappolasa / osszehasonlitgatasaval szemben.

Osszefoglalva, szukseges lenne:

- Parameterek hierarchikus tarolasa
- Szuro feltetelek szerinti lekerdezese
- Formazott megjelnitese

0
0
zptoth képe

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

0
0
zptoth képe

Pontositva szerintem a contemplate-et erdemes inkabb hasznalni ebben az esetben.

Lasd: http://api.drupal.org/api/function/db_query/5

Azt mondja:

function db_query($query) {
  $args = func_get_args();
  array_shift($args);
  $query = db_prefix_tables($query);
  if (isset($args[0]) and is_array($args[0])) { // 'All arguments in one array' syntax
    $args = $args[0];
  }
  _db_query_callback($args, TRUE);
  $query = preg_replace_callback(DB_QUERY_REGEXP, '_db_query_callback', $query);
  return _db_query($query);
}



es azt mondja: $query A string containing an SQL query.

Bar mondjuk itt kicsit kodos nekem, hogy ez alatt mire gondoltak.

esetleg: $query = db_prefix_tables($query); <--erre? (5. sor)

0
0
zptoth képe

vagy kulon kene csinalnom egy ilyesmit meg: (?)


$query = db_query("SELECT * FROM {tabla}");

0
0
pp képe

Nem csetelsz, hanem fórumozol, lécci értelmesen tedd fel a kérdésedet!

pp

0
0
pp képe

Mi ebben a ködös?
Hogy jön ide a contemplate?

Van egy SQL mondatod, melyet a db_query végrehajt. Ez a függvény fedi el előled, hogy milyen adatbázis szerver van a rendszer alatt(alapesetben mysql, mysqli vagy posgresql), kezeli a tábla előtagokat, valamint megfelelően eszképeli a változókat.

pp

0
0
zptoth képe

Igen, ez a kodos. Hol az SQL mondatom? A minta kodbol szamomra nem derul ki, hogy hova kell beirom.

A contemplate ugy jon ide, hogy egy bizonyos node tipust szeretnek kiegesziten egy fix query-n alapulo tablazattal es erre nekem ez tunik a legkezenfekvobbnek. Nem jo az elkepzeles?

0
0
pp képe

Emitt a példa:

http://api.drupal.org/api/file/developer/examples/nodeapi_example.module/5

Neked a form alter-ra nem lesz szükséged, csak a nodeapi hook-ra. Abból is csak a view-ra, vagy ha tudományosan akarod és contemplate-el akkor a load-ra.

pp

0
0
zptoth képe

Marmint az altalad javasolt peldaban szereplo kod case 'load': alatti reszet hozzam ossze az altalam beidezett koddal vagy amit en talaltam azt ikabb hagyjam a .csaba es ebbol induljak ki?

Asszem jo uton jarunk :)

0
0
zptoth képe

$header = array('Hostname', 'Timestamp');
$rows = array();
 
$result = db_query("SELECT hostname, timestamp FROM {sessions}");
 
while ($node = db_fetch_object($result))
{
 $rows[] = array($node->hostname, $node->timestamp);
}
return theme('table', $header, $rows);



+ meg a szuro feltetelek es sorbarendezes + szep megjelenites, de az mar pitekusz
Funkciojaban ennyit kerestem.


biztos tul bonyolultan kerdeztem...

0
0