Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 13. diel - Objektové počítadlo návštev v PHP - dokončenie

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Pavel Vosyka
Člen
Avatar
Pavel Vosyka:5.9.2013 12:26

Parádní tutoriál! Konečně tomu OOP začínám víc rozumět. Těším se na pokračování, jen tak dál.

Odpovedať
"nikdy nepiš nic 2x" (updated 10 years after: "Není nic špatného na tom napsat něco 2x")
Avatar
Jan
Nevyplnené
Avatar
Jan:2.1.2014 1:40

Šlo by to takhle?
<?php
class Databaze
{

public function __construct($hos­t,$db_name,$u­ser,$password){
$this->host=$host;
$this->db_name=$db_name;
$this->user=$user;
$this->password=$pas­sword;

$db = new PDO("mysql:hos­t=$this->host;dbname=$this->db_name", "$this->user", "$this->password");
$this->pdo=$db;

}

public function Vloz(){

$vloz = $this->pdo->prepare('INSERT INTO pristupy (ip, datum) VALUES (?, ?)');
$hodnoty = array($_SERVER['RE­MOTE_ADDR'], time());
$vloz->execute($hodnoty);
}

}

$pripoj=new Databaze("local­host","test","ro­ot","");

$pripoj->Vloz();

?>

Avatar
Kit
Tvůrce
Avatar
Odpovedá na
Kit:2.1.2014 2:27

Vypadá to sice trošku kostrbatě, ale po drobných úpravách by to mohlo být lepší řešení, než v článku:
http://www.itnetwork.cz/dev-lighter/276

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan
Nevyplnené
Avatar
Jan:2.1.2014 13:11

Díky za úpravy. Po odeslání komentáře mě hned napadlo udělat $host, $name atd.. jako Private a s nastavením PDO sem se nezdržoval :)

Avatar
Kit
Tvůrce
Avatar
Odpovedá na
Kit:2.1.2014 13:18

Těch úprav tam mám víc. Všimni si líného otevírání databáze. Tohle ti umožní inicializovat databázi i v případě, že ji ve skutečnosti nebudeš potřebovat. Můžeš to tedy dát na začátek skriptu ještě před rozhodnutím, co vlastně bude dělat.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
tommy58
Člen
Avatar
tommy58:11.2.2014 21:24

Ahoj programátoři,

předem díky moc za tento článek, hledal jsem přesně toto, jen bych měl malý problém, jsem těžkej začátečník v PHP vůbec a Mysql rovněž, ale k mé otázce. Na lokálním serveru to všechno funguje, ale když nahraju soubory na web server hlásí mi to fatální chybu: Undefined class constant 'PDO::MYSQL_AT­TR_INIT_COMMAND Databaze.php on line 30, nevěděl by někdo, kde dělám chybu?

Díky

Avatar
Dominik Čoupek:12.2.2014 16:03

Ahoj mám problém potřebuji vypsat obrázek z databáze, ale vždy mi to vypíše pouze první obrázek
Fotogalerie.php:

public function Vybergalerii()
    {
        $vysledek = Databaze::dotaz('
            SELECT  obrazek FROM `fotogalerie`
        ');
        $data = $vysledek->fetch();


        return $data['obrazek'] ;




    }
    public function Vypis()
    {

               echo   $this->Vybergalerii();


    }

a index.php:

require_once('tridy/Fotogalerie.php');
$fotogalerie = new Fotogalerie();
$fotogalerie->Vybergalerii();
$fotogalerie->Vypis();

Předem díky za odpovědi.

Avatar
Odpovedá na Dominik Čoupek
Dominik Čoupek:12.2.2014 16:04

Samozřejmě datábázový wrapper je stejný jako v článku.

Avatar
Odpovedá na Dominik Čoupek
Martin Konečný (pavelco1998):12.2.2014 16:22

Máš metodu nazvanou "vyberGalerii", která ti z DB vybere obrázek.

Pokud chceš všechny obrázky z tabulky fotogalerie, pak namísto fetch() použij fetchAll(). To ti vytvoří pole, které pak projdeš cyklem (nejjednodušeji přes foreach).

Odpovedať
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 37.