IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

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
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ť
5.9.2013 12:26
"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();

?>

 
Odpovedať
2.1.2014 1:40
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ť
2.1.2014 2:27
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 :)

 
Odpovedať
2.1.2014 13:11
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ť
2.1.2014 13:18
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

 
Odpovedať
11.2.2014 21:24
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.

 
Odpovedať
12.2.2014 16:03
Avatar
Odpovedá na Dominik Čoupek
Dominik Čoupek:12.2.2014 16:04

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

 
Odpovedať
12.2.2014 16:04
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ť
12.2.2014 16:22
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
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.

Zatiaľ nikto nevložil komentár - buď prvý!