Hirdetés
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- eBay-es kütyük kis pénzért
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Trewerr: Analóg-digitális jelátalakítás (zenefájlok leegyszerűsítésével magyarázva)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Meggyi001: A kérdés...
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
Ú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
- BestBuy topik
- Újra nekifeszül az asztali konzolok piacának a Valve
- Soundbar, soundplate, hangprojektor
- Külföldi prepaid SIM-ek itthon
- PH!otósok beszélgetős, offolós topikja
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Assetto Corsa Rally
- Milyen TV-t vegyek?
- Videós, mozgóképes topik
- Amazfit Helio Strap – képernyőmentesen
- További aktív témák...
- P15s Gen2i 27% 15.6" FHD IPS érintő i7-1185G7 T500 16GB 512GB NVMe ujjlolv
- Asus Vivobook X412U (i3 7th, 4 GB 120 GB SSD) laptop leárazás!!!
- Thinkpad T14s Gen3 14" FHD+ IPS i7-1260P 32GB 512GB NVMe ujjlolv IR kam gar
- ROG Flow X13 GV301QE 13.4" FHD+ IPS érintő Ryzen 9 5900HS 3050Ti 16 512 hun vbill toll ujjlolv gar
- T14 Gen2i 27% 14" FHD IPS i5-1135G7 16GB 256GB NVMe ujjlolv IR kam gar
- Indokolatlanul drága webkamera indokolatlanul olcsón eladó! Onlyfans, Livejasmin kezdőszett
- Azonnali készpénzes AMD Radeon RX 6000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- HIBÁTLAN iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3747, 100% Akkumulátor
- WYBOT C2 Vision AI vezérelt medenceporszívó
- Jura Impressa C5 Automata kávégép 6 hónap Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


