- Panorámás, E-ATX-es toronyház a Thermaltake-től, akár "lopakodó" alaplapokhoz is
- Sokrétű segédkijelzővel gyarapodott a Corsair portfóliója
- Többféle belsővel jönnek a Kysona 50 gramm alatti, akciós egerei
- Világelső, 321 cellarétegű QLC-s 3D NAND-ot hozott az SK Hynix
- USB portok garmadája az ASRock AMD-s alaplapján
- OLED TV topic
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Gaming notebook topik
- Sokrétű segédkijelzővel gyarapodott a Corsair portfóliója
- Bambu Lab 3D nyomtatók
- Notebook hibák
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- AMD vs. INTEL vs. NVIDIA
- TCL LCD és LED TV-k
- Asztrofotózás
Új hozzászólás Aktív témák
-
Frigo
őstag
Hali
Az Active Record mintának nézz utána .Lényeg ,hogy az osztályodból létrejött példányok képviselik az adatbázisod egy sorát .Ha példányosításkor átadsz a konstruktornak egy értéket az a sort azonosító elsődleges kulcs lesz ekkor betölti a dbtable osztály load metódusa az adott sor értékeit az objektumba ,ha nem adsz meg értéket akkor egy üres objektum jön létre ahol te adod meg manuálisan a oszlopok értékeit. Save metódus hívásakor pedig attól függően ,hogy meg volt-e adva a primery key példányosításakor ,updateli az adatbázisban levő sort vagy újat szúr be.Neked lényegében absztrakt dbtable osztály load és save metódusát kell megvalósítanod.
-
-
A $this az aktuális osztály példányosításából előállított objektumot hivatkozza.
A -> operátor pedig az megmondja, hogy azt adott osztály melyik metódusát szeretnék alkalmazni.
Javaslat tanulmányozd át a PHP OO implementációját.@6766: Mivel a dbtable osztályt örökli a users osztály ezért arra is szükség lenne, hogy el tudjuk dönteni, hogy rendben van-e.
Másik dolog, hogy amit te "DB implementációnak" neveztél az valójában a $u változó "tartalma".
$u = new User(1);
var_dump($u);Akkor lehetne okosat mondani, hogy ha láthatnánk a dbtable osztályt.
-
Shono
aktív tag
Inkább leírom a teljes problémát:
Ezt a kódrészletet kéne átalakítanom úgy, hogy a lentebbi DB-t implementálja. Minden segítséget megköszönök!
/*PHP kód*/
-------------------------------------------------------
require_once("class.php");
class User extends dbtable
{
public $table = 'users';
public $pk = 'UserID';
public $varPrefix = 'usr_';
public $usr_Nev;
public $usr_UserID;
function __construct($userId=false)
{
if (intval($userId)>0)
{
$this->usr_UserID = intval($userId);
$this->load($this->usr_UserID);
}
}
}
echo "<pre>";
$u = new User(1);
var_dump($u);
$u->usr_Nev = 'alma_'.date('YmdHis');
$u->save();
var_dump($u);
$u = new User();
$u->usr_Nev = 'korte_'.date('YmdHis');
$u->save();
var_dump($u);
-------------------------------------------------------
-------------------------------------------------------
/*DB minta*/
-------------------------------------------------------
object(User)#1 (6) {
["table"]=>
string(5) "users"
["pk"]=>
string(6) "UserID"
["varPrefix"]=>
string(4) "usr_"
["usr_Nev"]=>
string(19) "alma_20080925132327"
["usr_UserID"]=>
string(1) "1"
["dbconn:private"]=>
resource(3) of type (mysql link)
}
object(User)#1 (6) {
["table"]=>
string(5) "users"
["pk"]=>
string(6) "UserID"
["varPrefix"]=>
string(4) "usr_"
["usr_Nev"]=>
string(19) "alma_20080928211636"
["usr_UserID"]=>
string(1) "1"
["dbconn:private"]=>
resource(3) of type (mysql link)
}
object(User)#2 (6) {
["table"]=>
string(5) "users"
["pk"]=>
string(6) "UserID"
["varPrefix"]=>
string(4) "usr_"
["usr_Nev"]=>
string(20) "korte_20080928211636"
["usr_UserID"]=>
int(388)
["dbconn:private"]=>
resource(3) of type (mysql link)
}
-------------------------------------------------------
------------------------------------------------------- -
Tele von Zsinór
őstag
Mysql kapcsolódás kódolása mi? "set names 'kódolás';" queryvel tudod állítani, közvetlen a mysql_connect() mögé érdemes rakni.
Mivel nézve rosszak a karakterek: az oldaladon egy másik scripttel, vagy phpmyadminnal? Mindkét esetben ellenőrizd, hogy az oldal kódolása is 8859-2 legyen, phpmyadminban a home lapon tudod állítani. -
biker
nagyúr
pedig utf8-al járnál jobban, mert
- a windowsos gépről nem iso8859-2 hanem windos-1250 karakterek jönnek, vagy utf (browserfüggő), így ok, hogy te latin2-ként jelzed elküldéskor, de nem abban írta be.
- linux és mac userek is 99% utf8 karakterekkel írnak
- mysql-ben a text collate azt hiszem csak text mező esetén kielégítő, de nem biztos, mindenesetre az adatbázis, a tábla, és az oszlop minden szükséges helyén text collate=iso-8859-2talán segít.
esetleg táblába írás előtt alakíttasd át az ékezetes karaktereket kódokká. az aztán full kompatibilis
Új hozzászólás Aktív témák
Hirdetés
- Aggódnak a cégvezetők, Trump még több Intel-üzletet akar
- Háztartási gépek
- OLED TV topic
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Kertészet, mezőgazdaság topik
- Tőzsde és gazdaság
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- A lemondást javasolja az Intel vezetőjének Donald Trump
- Gitáros topic
- Hardcore café
- További aktív témák...
- Eladó Ryzen 7 7700X, 7800 XT, 1Tb M.2, 750W, 32Gb DDR5 AM5 gamer pc!
- MINI PC HP PRODESK 600 G2 G3 G4 G5 i3 és i5 6-9. gen gar. Budapest MPL Foxpost
- AZTA! HP EliteBook 840 G8 Fémházas Laptop Ultrabook 14" -60% i7-1185G7 16/512 FHD IPS Iris Xe
- Asus P8H61-M LX R2.0 LGA 1155 alaplap, + Quad Core i5-2500 CPU
- LEGO Technic - Bugatti Chiron (42083)
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- AKCIÓ! MSI Z77 MPOWER Z77 chipset alaplap garanciával hibátlan működéssel
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600 / RTX 2060 6GB / 16GB DDR4 / 512GB SSD
- LG 27MR400 - 27" IPS LED - 1920x1080 FHD - 100hz 5ms - AMD FreeSync - Villódzásmentes
- Bomba ár! Dell Latitude 5495 - Ryzen 5 I 16GB I 256SSD I 14" FHD I HDMI I Radeon I Cam I W10 I Gari
Állásajánlatok
Cég: FOTC
Város: Budapest