[ 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 | 25
NapísalOffline : 15.02.2010 20:13 | database class, oop php

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

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

Registrovaný: 28.02.07
Príspevky: 358
Témy: 25 | 25
Bydlisko: Podvysoká, ...
NapísalOffline : 15.02.2010 21:02 | database class, oop php

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 | 25
Napísal autor témyOffline : 15.02.2010 21:08 | database class, oop php

$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

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

Registrovaný: 28.02.07
Príspevky: 358
Témy: 25 | 25
Bydlisko: Podvysoká, ...
NapísalOffline : 15.02.2010 21:21 | database class, oop php

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 | 25
Napísal autor témyOffline : 15.02.2010 21:22 | database class, oop php

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 | 25
Napísal autor témyOffline : 15.02.2010 21:25 | database class, oop php

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

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

Registrovaný: 28.02.07
Príspevky: 358
Témy: 25 | 25
Bydlisko: Podvysoká, ...
NapísalOffline : 15.02.2010 21:30 | database class, oop php

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 | 25
Napísal autor témyOffline : 15.02.2010 21:38 | database class, oop php

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: 1586
Témy: 96 | 96
NapísalOffline : 16.02.2010 9:10 | database class, oop php

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: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 16.02.2010 9:57 | database class, oop php

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


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

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

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 16.02.2010 15:12 | database class, oop php

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!
 [ Príspevkov: 11 ] 


database class, oop php



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

1121

28.02.2008 13:04

martin90

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

PHP OOP MYSQLi Class

v PHP, ASP

6

312

08.04.2012 15:42

lolexc

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

registracia/prihlasenie php as3 database

v PHP, ASP

2

461

21.05.2011 20:18

p4tooo

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

OOP PHP

v PHP, ASP

1

309

29.04.2010 17:32

stenley

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

PHP OOP

v PHP, ASP

3

126

18.02.2013 7:20

DeiForm

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

2172

28.11.2009 16:01

Tominator

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

[PHP] OOP diskusia

v PHP, ASP

7

2137

30.03.2015 12:59

majky358

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

OOP v PHP

v PHP, ASP

1

615

02.06.2009 11:02

walther

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

1890

24.05.2008 15:04

Tominator

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

OOP PHP problémy začiatočníka

v PHP, ASP

11

224

13.11.2014 13:29

Mego

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

oop v php - predavanie udajov

v PHP, ASP

1

188

16.02.2010 19:06

Ďuri

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

[VYRIESENE] PHP unzip class

v PHP, ASP

6

327

26.02.2009 13:01

Flety

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

[VYRIESENE] PHP template class

v PHP, ASP

23

852

24.02.2009 23:09

Flety

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

pomoc s Smarty.class.php

v PHP, ASP

1

221

27.09.2010 20:52

walther

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

Ajax + PHP Class - server bez reakcie

v JavaScript, VBScript, Ajax

3

164

20.07.2013 2:36

math-ew

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

491

16.12.2010 20:09

majky358



© 2005 - 2017 PCforum, edited by JanoF