Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Rada ohledne OOP

Aktivity
Avatar
berry309
Tvůrce
Avatar
berry309:14.1.2013 20:30

ahoj, jen takovej dotazek, kdyz bych si u tutorialu o OOP chtel udelat stranku treba s vypisem vsech clanku co jsou v db, tak jasny, udelam kontroler a pohled, pocitam, ze i model kde bude script na tahani udaju z db, nejsem nijakej profik na oop tak se ptam jestli me uvazovani spravne

 
Odpovědět
14.1.2013 20:30
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na berry309
David Hartinger:14.1.2013 20:31

Ahoj, model již máš, je jím ManazarClanku. Do něj by sis přidal metodu vratSeznamClanku() nebo něco podobného. Kontroler a šablonu by sis udělal udělal nové.

Nahoru Odpovědět
14.1.2013 20:31
You are the greatest project you will ever work on.
Avatar
berry309
Tvůrce
Avatar
Odpovídá na David Hartinger
berry309:14.1.2013 20:36

jo, vidis, to me nenapadlo, ze model uz mam, jdu to vyzkouset

 
Nahoru Odpovědět
14.1.2013 20:36
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na berry309
David Hartinger:14.1.2013 20:40

Většinou máš ke každé databázové entitě model, v té filozofii mého MVCčka manažer. Ty potom používáš ve více kontrolerech :)

Nahoru Odpovědět
14.1.2013 20:40
You are the greatest project you will ever work on.
Avatar
berry309
Tvůrce
Avatar
Odpovídá na David Hartinger
berry309:14.1.2013 20:45

jo, je to logicky. ono uz jsem jednou delal zbytecne treba kontrolery kdyz jsem si chtel sam udelat neco jako ty mas ten editor.

 
Nahoru Odpovědět
14.1.2013 20:45
Avatar
berry309
Tvůrce
Avatar
berry309:14.1.2013 23:12

co mam v tomhle spatne (uz jsem utahanej, takze nejak kravina) :D

Fatal error: Call to undefined method DB::vypisClanek() in C:\

//seznam článků
public function vratSeznamClanku($clanek)
{
   return DB::vypisClanek('SELECT `clanky_id`, `prezdivka`, `titulek`, `publikovano` FROM `clanky`
   INNER JOIN `uzivatele` ON (`uzivatele_id` = `autor_id`)
   ');
Editováno 14.1.2013 23:13
 
Nahoru Odpovědět
14.1.2013 23:12
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na berry309
David Hartinger:15.1.2013 9:50

Na třídě DB není metoda vratClanek. DB je wrapper, umí jen obecné dotazy. Konkrétní máš v modelech.

Nahoru Odpovědět
15.1.2013 9:50
You are the greatest project you will ever work on.
Avatar
berry309
Tvůrce
Avatar
Odpovídá na David Hartinger
berry309:15.1.2013 17:40

jo, chapu teda, ze musim rozsirit i model DB o to svoje vypisovani clanku?

 
Nahoru Odpovědět
15.1.2013 17:40
Avatar
berry309
Tvůrce
Avatar
berry309:16.1.2013 19:01

Tak jsem tu zas se svym zacatecnickym dotazem o OOP

mam pohled, tam by to melo byt OK

<table>
<tr><td>ID</td><td>Titulek</td><td>Publikováno</td><td>Autor</td></tr>
<tr><td><?= $clanky_id ?></td><td><?= $titulek ?></td><td><?= $publikovano ?></td><td><?= $prezdivka ?></td></tr>
</table>

k tomu kontroler - tady tapu

public function zpracuj($parametry)
{


                $this->hlavicka = array('titulek' => 'Výpis článků',
                                                                'klicova_slova' => '',
                                                                'popis' => '');

                $sc = new ManazerClanku();

                $vypis = $sc->vratSeznamClanku($parametry);
                // Naplnění proměnných pro šablonu
                $klice = array('clanky_id', 'titulek', 'publikovano', 'prezdivka');


                $this->pohled = 'seznam-clanku';

}

a tady to jsem pridal v modely/DB - tady jsem v ritim nevim co vyplnit

//vypis clanku
public static function vypisClanek()
{

}

a tady manazerclanku jsem pridal toto - tady taky tapu

//seznam článků
public function vratSeznamClanku($vypis)
{
   return DB::vypisClanek('SELECT `clanky_id`, `prezdivka`, `titulek`, `publikovano` FROM `clanky`
   INNER JOIN `uzivatele` ON (`uzivatele_id` = `autor_id`)
   ');


}

pise to Notice: Undefined variable: clanky_id a u vseho u titulek atd.. Problem je v tom, ze nevim kde je mam definovat

 
Nahoru Odpovědět
16.1.2013 19:01
Avatar
berry309
Tvůrce
Avatar
berry309:16.1.2013 19:07

v "cistym" PHP mam jednoduse toto

include "pages/db.php";
      /* výpis dat */
  if(!$data=mysql_query("select * from users"))
    {echo "<h2>Nepodařilo se připojit k tabulce users.</h2>\n"; break;}
  echo "<table>";
  echo "<tr><td>ID</td><td>Název</td><td>Login</td><td>Upravit</td><td>Smazat</td></tr>\n";
  while($zaznam=mysql_fetch_array($data)){
    //postupné načtení a výpis všech záznamů pomocí cyklu

    echo "<tr><td>".$zaznam["id"]."</td><td>".$zaznam["name"]."</td><td>".$zaznam["login"]."</td><td>Upravit</td><td><a href=#>Smazat</a></td></tr>\n";
  }
  echo "</table>\n";

a je to, tady trochu tapu :D

 
Nahoru Odpovědět
16.1.2013 19:07
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na berry309
David Hartinger:16.1.2013 19:13

Moc jsi ze seriálu nepochytil koukám :) Možná by stálo za to si ho projet znovu.

Nahoru Odpovědět
16.1.2013 19:13
You are the greatest project you will ever work on.
Avatar
berry309
Tvůrce
Avatar
Odpovídá na David Hartinger
berry309:16.1.2013 19:20

No popravde jsem to projizdel, jenze jsem se do toho tak zamotal, ze jsem rad, ze jsem to vratil do puvodni podoby

 
Nahoru Odpovědět
16.1.2013 19:20
Avatar
berry309
Tvůrce
Avatar
Odpovídá na David Hartinger
berry309:11.2.2013 22:34

Tak se v tom opet vrtam a zjistuju, ze se na PHP vykaslu kdyz nejsem schopnej rozchodit neco tak jednoduchyho, nema to smysl :) Stejne se tvorbou www uz tezko budu zivit. :D

 
Nahoru Odpovědět
11.2.2013 22:34
Avatar
jan.vencl
Tvůrce
Avatar
Odpovídá na berry309
jan.vencl:10.8.2013 5:57

Nevzdávej se ;) 1% talentu 99% píle :)

 
Nahoru Odpovědět
10.8.2013 5:57
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 14 zpráv z 14.