Drupal 7 sql (tablesort_sql, db_query...)

makgab képe

Hi!

A 7-es Drupal-t is nézegetem.
1-2 függvény már nem létezik (változott?), ha jól láttam.
Találtam egy oldalt, ahol van segítség ezzel kapcsolatban, pl.:
http://nanwich.info/node/335

Ez a szép megoldás?

Drupal verzió: 
asrob képe

API oldal ahol meg tudod nézni hogy a függvények hogyan néznek ki Drupal 7 alatt.

0
0

--
Borsa Péter
https://peterborsa.eu

makgab képe

Igen, csak mintát nem látok ott. Az sokat segítene.
Ha van - és csak én nem látom -, akkor elnézést.

0
0
makgab képe

D7-ben hogy lehet futtatni SQL lekérdezést?
A db_select csak táblát kérdez - ha jól látom. SQL string nem jó neki.
A db_query() használható D7-ben is, de akkor mi van a tablesort_sql() és pager_query()-vel?
:(

0
0
Laza képe

makgab képe

Igen, ez megvan, de nem látom mit lehet használni a nevezett függvények helyett.

0
0
snufkin képe

erdemes megnezni a core altal nyujtott modulok forrasat, hogy ott hogy van. peldaul ha megnezed a forum.module-t, akkor ott lathatod ezt:

$query = db_select('forum_index', 'f')->extend('PagerDefault')->extend('TableSort');

ahol az extend('TableSort') adja hozza a tablesort funkcionalitast.

Itten a kod: http://api.drupal.org/api/drupal/modules--forum--forum.module/function/f...

0
0
makgab képe

Köszönöm a válaszodat, ezt én is látom. De ez csak SQL táblákat kezel. Egyedi SQL parancs a db_query()-vel lehetséges továbbra is, jól gondolom?
Mert én azt szeretném sort-olni ill. pager-el lapozhatóvá tenni, ahogy ez a D6-ban működik.

0
0
chx képe

Természetesen a db_query minden funkcionalitása megoldható db_select-tel is. Fogalmam sincs min lovagolsz... egyébként példák vannak az api.drupal.org -on, van kézikönyv, tucatra példa a magban, mi kell még?

0
0
Den képe

Ha, véletlenül nem csak írnál, olvasnál is. Bálint néhány hozzászólással ezelőtt belinkelte neked az API oldalt


ui.: még jobb: http://drupal.org/developing/api/database

Queries

A query is an SQL statement that will be sent to a database connection. There are six types of queries supported by the database system: Static, Dynamic, Insert, Update, Delete, and Merge. Some queries are written as SQL string templates (prepared statements) while others use object-oriented query builders. A "query object" refers to an instance of a query builder for one of the various query types.

A statikus lekérdezésekről: http://drupal.org/node/310072 - vigyázz, ne nézz bele, tele van példáva!

http://drupal.org/node/310075 - dinamikus lekérdezések, extenderek: http://drupal.org/node/508796

Ennyi energiával már belenézhettél volna.

Ha azt szeretnéd, hogy minden úgy menjen mint a D6-ban, akkor a D6 megfelelő a számodra.

0
0
makgab képe

Elnézést kérek, de tényleg olvasom ezeket!
A D7-et szeretném megismerni, csak a DB kezelésében megkeveredtem egy kicsit.
Sajnálom! :(

0
0
Den képe

Megjelentek már könyvek, ami alapján lehet haladni, vagy legalábbis az alapokat összeszedni az api doksik tanulmányozása előtt:

Pro drupal 7 development: http://apress.com/book/view/1430228385
Drupal 7 Module Development: https://www.packtpub.com/drupal-7-module-development/book

Mindkettő friss, D7 programozásról szól.

0
0
chx képe

A PDD Drupal 7-es kiadasa kicsit khm. A Drupal 7 Module development jobb.

0
0
makgab képe

A db_query() eredményét lehet pager-elni?
A kis próba modul működik, de nem lapozódik az eredmény:

<?php
...
  $rows = array();
  $header = array(
    array('data' => t('PID'), 'field' => 'pidr', 'sort' => 'asc'),
    array('data' => t('A1'), 'field' => 'a1'),
    array('data' => t('Z1'), 'field' => 'Z1'),
    );
 
  $sql = 'SELECT ..... FROM {mymodule_table1} ...';
  $results = db_query($sql);
  foreach ($results as $record) {
    // ....
    }
  $build['mymodule_table'] = array(
    '#theme' => 'table',
    '#header' => $header,
    '#rows' => $rows,
    );
  $build['mymodule_pager'] = array(
    '#theme' => 'pager',
    );
  return $build;
...
?>

A doksikban és a core forrásokban csak a db_select()-et látom pager-el ( extend('PagerDefault') ). Csak azzal működik a pager?

0
0
makgab képe

A pager_query() D7-ből kikerülésének volt oka?
Úgy látom ezt a db_select()-et lehet csak helyette használni.

0
0
nevergone képe

Újraírták az adatbázis-kezelő réteget PDO alapon.

0
0
makgab képe

ok.
Kicsit furcsa a db_select()... meg kell szokni... :(

0
0
nevergone képe

Fel kellett készülni a nem SQL alapú adatbázis-kezelő rendszerek támogatására.

Viszont szerintem ez a fórumtéma már hanyagolható, az eredeti kérdést megvitattuk, a többinek pedig nem itt a helye.

0
0
chx képe

A DBTNG-nek semmi koze nincs a NoSQL-hez. Valahogy ossze kell rakni SQL select-eket ugy hogy szep, konnyen valtoztathato legyen.

0
0
Pasqualle képe