Datagrid + MySQL zprovozneni

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
qu
Člen | 4
+
0
-

Pokousim se rozbehnout datagrid na databazi MySql procetl jsem dokumentaci ale nejak jsem se ztratil v nazvoslovi a potreboval bych naprosto jednoduse (pro uplneho zacatecnika popsat postup co vsechno je potreba zeditovat pro zprovozneni datagridu).

udaje k databazi
nazev databaze:test
user:root
pass:root

dotaz na databazi:
SELECT * FROM tabulka

Databaze kterou pouzivam je MySql->
upravil jsem tedy cast config.ini kde se nastavuje pripojeni do databaze(v adresari APP)

nyni bych potreboval polozit dotaz na databazi bohuzel nevim kam ho umistit.
Dotaz napr.:
SELECT * FROM mojetabulka;
a nasledne tento dotaz zobrazit pomoci datagridu

Predem dekuji za odpoved

mkoubik
Člen | 728
+
0
-

Pro začátek zkus

TestPresenter.php:

protected function createComponentTestGrid()
{
  $grid = new DataGrid();
  $datasource = dibi::getConnection()->dataSource('SELECT * FROM [tabulka]');
  $grid->bindDataTable($datasource);
  return $grid
}

test.default.phtml (šablona):

{widget testGrid}

Snad se chytneš.

Pak můžeš přeunout vytváření datasource do modelu, nastavit sloupce pomocí $grid->addColumn(...) nebo zapnout ajax atd.

Honza Kuchař
Člen | 1662
+
0
-

Zdá se, že ti chybí znalosti v:

  1. objektovém programování
  2. architektuře MVC

Pro to, aby jsi mohl začít s Nette je 1. podmínkou a druhé velkou výhodou. (člověk se v tom méně ztrácí)

Honza Kuchař
Člen | 1662
+
0
-

Tzn. nejdřív se pokus napsat nějaký jednoduchý pokusný web, jen tak s Nette. Ale nepoužívej doplňky. To jsou většinou už poměrně sofistikované věci, které nejsou pro začátečníku úplně nejvhodnější. A navíc docela riskuješ, že narazíš na nějaký bug a pokud nemáš vůbec páru, jak to funguje, tak skončíš na prvním zádrhelu.

qu
Člen | 4
+
0
-

dekuji za odpovedi, mate naprostou pravdu nemam zadne znalosti tykajici se objektoveho programovani a architektury MVC – momentalne jsem procetl dokumentaci a da se rici, ze znam teorii bohuzel ji nejsem schopny prevest do praxe. Podle uzivatele mkoubika (kteremu timto dekuji) jsem se zorientoval v dokumentaci a ,,pochopil" navaznosti. Bohuzel momentalne mi ladenka vypisuje nasledujici chybu: Component with name ‚TestGrid‘ does not exist.

pokud by se nasel nekdo kdo by mi byl ochotny poradit kde delam chybu zde prikladam kod:

obsah presenteru:TestPresenter.php

<?php
protected function createComponentTestGrid()
{
  $grid = new DataGrid();
  $datasource = dibi::getConnection()->dataSource('SELECT * FROM [data]');
  $grid->bindDataTable($datasource);
  return $grid
}
?>

obsah soboru Example.default.phtml
{widget TestGrid}

kde delam chybu tykajici se neexistujici komponenty?

jasir
Člen | 746
+
0
-
  1. Chybí ti středník za return $grid (asi chyba přepisování)
  2. zkus {widget testGrid} (malé t)
qu
Člen | 4
+
0
-

opet dekuji za radu,
strednik se mi nejak vytratil pri kopirovani.
Druha rada zmena pismene T nepomohla stale mi to hlasi stejnou chybu…
Kde vsude je potreba vytvorit (zaregistrovat) komponentu-ptam se zda jsem na neco nezapomnel?

vytvoril jsem ji pouze v adresari presenters\
v souboru ktery jsem pojmenoval TestPresenters.php

prvni radek souboru:
<?
protected function createComponenttestGrid()

nazev komponenty ma byt dohromady? myslim createComponenttestGrid() nebo createComponenttestGrid

Ani
Člen | 226
+
0
-

createComponenttestGrid tady má být to t u test velké, takže createComponentTestGrid().

Editoval Ani (10. 6. 2010 0:19)

qu
Člen | 4
+
0
-

to vsechno jsem zkusil ale stale to pise stejnou chybu