Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.01.09
Prihlásený: 22.06.11
Príspevky: 87
Témy: 25
Príspevok NapísalOffline : 15.02.2010 20:13

Caute, tak mam triedu zatial nedokoncenu.
Problem je v tom ze neviem ako sa mam dostat k vypisaniu z db.

Kód:
<?php
class database {

    private $connect;
    private $query;

    public function __construct($host,$login,$password,$database) {
        $this->connect = mysql_connect($host,$login,$password) or die(mysql_error());
        $dbselect = mysql_select_db($database) or die(mysql_error());
    }

    public function query($query) {
        $this->query = mysql_query($query) or die(mysql_error());
        return $this->query;
    }

    public function f_array() {
        $pole = array();
        $i = 0;
        while($write = mysql_fetch_array($this->query)) {
            $pole[$i] = $write;
            $i++;
           
        }
        var_export($pole);
        return $pole;

    }

    public function f_row() {
        $write = mysql_fetch_row($this->query) or die(mysql_error());
        $fields = mysql_num_fields($this->query);
        $i = 2;
        while($i <= $fields) {
            echo $write[$i];
            $i++;
        }

    }

    public function write_result() {
        $rows = mysql_num_rows($this->query);
        if($rows>1) {
            $this->f_array();
        }
        elseif($rows == 1) {
            echo $this->f_row();
        }
        else {
            echo "Num rows = 0";
            die();
        }
    }

    public function  __destruct() {
        $mysql_close = mysql_close($this->connect);
        if($mysql_close) {
            exit();

        }
    }




}





?>


Kód:
<?php
require_once ('database.class.php');
$db = new database("localhost","root","","ucms");
$db->query("SELECT * FROM tendre");
$db->write_result();
   


?>


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 15.02.2010 21:02

Prepis funkciu __construct na:

Kód:
 public function __construct($host,$login,$password,$database) {
        mysql_connect($host,$login,$password) or die(mysql_error());
        mysql_select_db($database) or die(mysql_error());
    }


Problem je (bol) v tom ze link teda pripojenie k db si davas do premennej s ktorou dalej nepracujes, to iste s $dbselect.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.01.09
Prihlásený: 22.06.11
Príspevky: 87
Témy: 25
Príspevok Napísal autor témyOffline : 15.02.2010 21:08

$dbselect som zmazal ale connect nechavam lebo potom mysql_close($connect) v detruktore mam. Ale ja neviem ako vypisat vysledok v pripade ze sa spracuje cez f_array


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 15.02.2010 21:21

janik366 píše:
$dbselect som zmazal ale connect nechavam lebo potom mysql_close($connect) v detruktore mam. Ale ja neviem ako vypisat vysledok v pripade ze sa spracuje cez f_array


mysql_close() - pokial pracujes len s jednou databazou je ti to nanic ak to pouzijes zavre to poslednu db s ktorou si pracoval a je to zanedbatelne pri konci skriptu sa vzdy s vynimkou pconnect spojenie s databazou zavre co sa tyka toho vypisu v kode

Kód:
 public function write_result() {
        $rows = mysql_num_rows($this->query);
        if($rows>1) {
            $this->f_array();
        }
        elseif($rows == 1) {
            echo $this->f_row();
        }
        else {
            echo "Num rows = 0";
            die();
        }
    }


som nenasiel jedinu proceduru ktora by to vypisala ak je $rows vacsie jak 1. Skus to zamenit za nieco taketo:
Kód:
 public function write_result() {
        $rows = mysql_num_rows($this->query);
        if($rows>1) {
           $arr = $this->f_array();
           foreach( $arr as $k => $v)
         { echo $k . " => " . $v; unset($k, $v); }
        }
        elseif($rows == 1) {
            echo $this->f_row();
        }
        else {
            echo "Num rows = 0";
            die();
        }
    }


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.01.09
Prihlásený: 22.06.11
Príspevky: 87
Témy: 25
Príspevok Napísal autor témyOffline : 15.02.2010 21:22

Diky :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.01.09
Prihlásený: 22.06.11
Príspevky: 87
Témy: 25
Príspevok Napísal autor témyOffline : 15.02.2010 21:25

mimochodom, nedalo by sa to pouzit mimo triedy, aby som si echo pisal uz po vytvoreni instancie ?

uplny blud pisem ale cosi ako
echo "<b>".$write['niec']."</b>"........
aby som si mohol urcit co kedy vypisem, z tabulky - ktory stlpec kde a naformatovat trosku s html atd. ....

?


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 15.02.2010 21:30

Vloz normlane do kodu ale az po zadefinovani triedy identifikator $db:
Kód:
$rows = mysql_num_rows($db->query);
        if($rows>1) {
           $arr = $db->f_array();
           foreach( $arr as $k => $v)
         { echo "<strong>" . $k . "</strong> je <strong>" . $v . "</strong>"; unset($k, $v); } unset($arr);
        }
        elseif($rows == 1) {
            echo $db->f_row();
        }
        else {
            echo "Num rows = 0";
            die();
        }


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.01.09
Prihlásený: 22.06.11
Príspevky: 87
Témy: 25
Príspevok Napísal autor témyOffline : 15.02.2010 21:38

nj, dat priamo do triedz <strong> to by som vedel, ale ja sa pytam ci sa to neda hodit mimo triedy, uz ked je vytvorena,

Kód:
<?php
require_once ('database.class.php');
$db = new database("localhost","root","","ucms");
$db->query("SELECT * FROM tendre");
$db->write_result();
   


?>


Offline

Skúsený užívateľ
Skúsený užívateľ
database class, oop php

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 16.02.2010 9:10

1. ak si robis vlastnu db triedu, zarucujem ti, ze nebude dobra a casom budes musiet dohackovavat
2. if($mysql_close) {exit();}
Naco ten exit?







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Správca fóra
Správca fóra
database class, oop php

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 16.02.2010 9:57

nesuhlasim - ak sa trieda dobre navrhne, nie je potrebne nic doplnat a menit - co, samozrejme, nie je pripad vyssie uvedenej triedy...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Skúsený užívateľ
Skúsený užívateľ
database class, oop php

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 16.02.2010 15:12

tato konkretna mi velmi pripomina jednu, s ktorou sa stretavam bohuzial denne. Ulohou databazoveho abstract layeru je ulahcit pracu, ale ta, s ktorou musim pracovat, je viac na obtiaz ako na uzitok.







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Odpovedať na tému [ Príspevkov: 11 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Mysql database php class

v PHP, ASP

25

1314

28.02.2008 13:04

martin90 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP OOP MYSQLi Class

v PHP, ASP

6

654

08.04.2012 15:42

lolexc Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. registracia/prihlasenie php as3 database

v PHP, ASP

2

662

21.05.2011 20:18

p4tooo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP OOP

v PHP, ASP

3

292

18.02.2013 7:20

DeiForm Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. OOP PHP

v PHP, ASP

1

491

29.04.2010 17:32

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [PHP] OOP diskusia

v PHP, ASP

7

2450

30.03.2015 12:59

majky358 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. OOP v PHP

v PHP, ASP

1

858

02.06.2009 11:02

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. OOP v PHP

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

41

2955

28.11.2009 16:01

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. oop php - vyuzitie, vyhody

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

32

2337

24.05.2008 15:04

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. OOP PHP problémy začiatočníka

v PHP, ASP

11

471

13.11.2014 13:29

Mego Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. oop v php - predavanie udajov

v PHP, ASP

1

348

16.02.2010 19:06

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [VYRIESENE] PHP unzip class

v PHP, ASP

6

545

26.02.2009 13:01

Flety Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [VYRIESENE] PHP template class

v PHP, ASP

23

1107

24.02.2009 23:09

Flety Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc s Smarty.class.php

v PHP, ASP

1

500

27.09.2010 20:52

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ajax + PHP Class - server bez reakcie

v JavaScript, VBScript, Ajax

3

577

20.07.2013 2:36

math-ew Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MicroSDHC class 2 alebo class 4 mám vrátiť ?

v Pamäte

3

667

16.12.2010 20:09

majky358 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra