Diskuze: Nefunkční algoritmus v OOP
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 17 zpráv z 17.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
nemáš vypisovanie chýb
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
prípadne v php.ini
display_errors = on
Není problém v tom, že metoda nactiUdaje() nic nevrací? Pouze uloží výsledek do jakési veřejné proměnné $this->udaj. Navrhuji proto upravit metodu na:
public function nactiUdaje($udaj) {
return Db::queryOne('
SELECT ?
FROM uzivatele
WHERE id=?
', $udaj, $_SESSION['id']);
}
"Notice: Array to string conversion in
C:\Users\Pavel\Desktop\webfun\administrace\administrace\tridy\Kontroly.php
on line 25
Array"
No jasně, z DB se to načítá jako array. Ale jak to převést na string ?
Metoda queryOne nejspíš vrací pole, tudíž ve výpisu přidej ješte příslušný index:
$kontrola->nactiUdaje("jmeno")[0]
// Pokud by nefungovalo
$kontrola->nactiUdaje("jmeno")["jmeno"]
To první nejde vůbec, tu druhý vypisuje:
"
Notice: Undefined index: jmeno in
C:\Users\Pavel\Desktop\webfun\administrace\administrace\index.php on
line 34
"
Niekedy je lepšie skúšať a nie písať sem každú jednú chybu ktorú ti to vráti. Kód vymaž napíš ho znova dump premenných a určite prídeš na to kde je problém.
Ale já jsem student, a nemám tolik času, abych mohl 3 hodiny programovat nějakou malou blbost..
A ja som študent a riešim omnoho "ťažšie veci" ako select z DB a cez to vsetko si to rad vždy spravím sám a neotravujem všetkých na okolo ... z vlastných chýb sa učí najlepšie
Když na to nemáš čas, tak se na to vykašli a jdi na brigádu do McDonalds...
Už předchozími komentáři ve mě budíš dojem toho, že tomu vůbec nerozumíš a je to úkol co musíš odevzdat. V tom případě bude potřeba sednout k počítači, pročíst si tutoriály, všechno vyzkoušet, nastudovat,... to je práce na X dní, zapomeň na 3 hodiny. A nebo na tom předmětu nemáš co dělat.
Pokud si to ale děláš pro sebe, ze své vlastní vůle, tak nic jako "nemám čas" neexistuje. Čas se vždycky najde, pokud ne, není problém to odložit. U programování musí člověk umět i chtít, což tvůj přístup rozhodně není.
Metoda queryOne v místním wrapperu vrací první řádek sql dotazu jako
asociativní pole, tedy pole ve tvaru [název sloupce] => "hodnota".
Ta chyba ti říká, že nemáš definovaný index "jmeno" takže buďto tvá
tabulka v databázi nemá sloupec "jmeno" nebo ti dotaz nevrací žádný
výsledek a proto neexistuje index v poli.
To fakt ? Ja teda mel na uceni programovani cas hlavne jako student
Jako mám čas, ale tenhle týden píšeme spoustu testů + 2 čtvrtletky, a já tohle potřebuji dodělat do dneska do večera
To na Tebe fakt jenom působí. Jen tady na Itnetworku jsem dal do
programování asi tak 3500 Kč. Já dělám, co můžu, ale prostě občas mě
něco nenapadne. Nejsem tak pokročilý.
PS: Je mi 14, takže žádné brigády.
Zobrazeno 17 zpráv z 17.