Hirdetés
- Amazfit Active 2 NFC - jó kör
- Xiaomi 14 - párátlanul jó lehetne
- Poco F5 - pokolian jó ajánlat
- iPhone topik
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Új belépő a Honornál
- Poco F8 Ultra – forrónaci
- Íme az új Android Auto!
Ú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.
-
xTc
aktív tag
-
xTc
aktív tag
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
- E-book olvasók
- Mibe tegyem a megtakarításaimat?
- Fujifilm X
- Amazfit Active 2 NFC - jó kör
- PlayStation 5
- Apple MacBook
- Óvodások homokozója
- Kormányok / autós szimulátorok topikja
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Kerékpárosok, bringások ide!
- További aktív témák...
- 27% - Dell S2721NX IPS Monitor! 1920x1080 / 75Hz / 4ms / FreeSync
- új NAGYakku!!! 6-10óra üzemidő, 5G! Dell Latitude 5330 i3-1215U - 16GB 512GB 13.3" FHD 1 év gar
- Azonnali készpénzes AMD Radeon RX 7000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- HP EliteBook 640 G10 - 14" FullHD IPS - i5-1335U - 8GB - 512GB - Win11 - 1 év garancia - MAGYAR
- Dell Latitude 5530 Core i5 1245U, 16GB RAM, SSD, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


