Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: MysqlLsd 23. 07. 2014, 23:46:38

Název: ZF vracia ARRAY namiesto vysledku
Přispěvatel: MysqlLsd 23. 07. 2014, 23:46:38
Nazdar.
Skusam programovat v ZF. A narazil som na problem. Mozno banalny ale problem.
Pre vytiahnutie veci s DB pouzivam toto

Kód: [Vybrat]
$sqluserid = "
    SELECT name FROM profiles WHERE id = 1
           
    ";
   
    $user_id = $model->getAdapter()->fetchAll($sqluserid);
    echo "ID uzivatela ".$user_id ."";


Ale namiesto vysledku mi to ukazuje len ARRAY v com je problem ?
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: php buh 23. 07. 2014, 23:55:44
V tobe, bohuzel. fetchAll uz podle nazvu potrebuje misto na vsechny vysledky dotazu a nemuze predem tusit, ze zrovna ten tvuj vrati jenom jeden a to i priste. Tak ti proste v tomhle konkretnim pripade da pole s jednim prvkem (pokud nemas vic uzivatelu s id 1).
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: MysqlLsd 24. 07. 2014, 00:00:38
ako to osetrit ?
podla ID je len jeden uzivatel.
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: MysqlLsd 24. 07. 2014, 00:23:35
Neviem ci je to spravne riesenie ale pouzil som nakoniec
echo $user_id[0]['name'];

Dakujem za pomoc
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: MysqlLsd 24. 07. 2014, 00:26:09
A som tam kde som nechcel byt.

Problem ktory riesi jeden select je ok ale co ak chcem viac selectov resp. vypisat tabulku vzdy to vracia len 1 riadok.
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: Bla 24. 07. 2014, 00:51:49
Jen pro info, co je ZF?
Zend Framework?
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: MysqlLsd 24. 07. 2014, 00:59:35
ano je to ZendFramework
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: php buh 24. 07. 2014, 04:15:16
No offense, ale zvaz, zda z nicku neodstranit prvnich pet pismenek a venovat se naplno tomu zbytku. Nebo mozna si zkusit alespon precist neco pro naproste zacatecniky, to by mohlo prazdno alespon trochu vyplnit.
Co takhle projit to pole v cyklu a vypsat radky postupne?
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: Maglais 24. 07. 2014, 09:13:05
No offense, ale zvaz, zda z nicku neodstranit prvnich pet pismenek a venovat se naplno tomu zbytku. Nebo mozna si zkusit alespon precist neco pro naproste zacatecniky, to by mohlo prazdno alespon trochu vyplnit.
Co takhle projit to pole v cyklu a vypsat radky postupne?

Asi by si mel zvazit, zda se sveho nicku neodstranit vsech 7 pismenek a nenahradil je necim jinym.... ;)

K otazce: krome fetchAll existuji i jine metody, to co ty hledas je fetchOne....
http://framework.zend.com/apidoc/1.9/Zend_Db/Adapter/Zend_Db_Adapter_Abstract.html
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: monitor 24. 07. 2014, 09:26:08
no, ak ti ide len o vypisy - skusas, co a ako funguje,
tak podla mna, klasicka vybava PHP vyvojara je:
var_dump

http://php.net/manual/en/function.var-dump.php

vypise ti to premennu, a je mu jedno, ci je to string, cislo, alebo cele pole(, ci uz bude mat jeden riadok, alebo viac... napr. milion) :-)
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: Jimm 24. 07. 2014, 09:31:27
Začni trochou učení, alespoň základ... Nebo by sis rozebral motor u auta bez jeho znalosti? Možná to dáš dohromady, ale časem tě to zabije...  ;)
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: ZAJDAN 24. 07. 2014, 13:53:56
ty jo tady ty keci "začni trochu učením" a podobné jsou opravdu inspirující, já se vůbec divím, že ty lidi mají čas napsat tak duchaprádnou odpověď.....
konkrétně já nejsem programátor, ale přesto občas něco zbastlím a funguje to a učím se přesně tímto způsobem, stejně jako se tady ptá zakladatel vlákna...prostě jdu dělal konkrétní věc...mám cíl...a tak to postupně zkouším, ptám se, vylepšuju

kurňa co je na tom špatně?
to si doma budu udit klobásy, zeptám se souseda zda je lepší švestkové dřevo nebo meruňkové a on mi řeknu ať se na to vyprdnu ať si koupím od "profíků" průmyslové z krahulčí?....
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: NooN 24. 07. 2014, 14:16:54
...kurňa co je na tom špatně?...
Asi len to ze by si mal najskôr rozmysliet co chce a trocha pri tom aj uvazovat.
Pride do krcmy, krcmarovy povie ze chce pivo.
Krcmar mu capuje jedno pivo za druhym a on sa zacne rozculovat ze chcel len jedno.
Tak mu niekto poradi ako si ma z toho mnozstav piv vybrat to prve.
A potom za zacne rozculovat ze takto nedostane vsetky ale len prve.

Zakladom je aspon si prelozit co znamena napr. ta funkcia FetchAll a zisti ze to nie je len jeden zaznam.
A potom moze prikrocit k dalsiemu bodu, spytat sa Google.
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: ZAJDAN 28. 07. 2014, 14:48:41
souhlasím, formulovat to přesněji je vždy namístě, ale příspěvek na který jsem reagoval já je opravdu "umachrovaný"
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: neznal 28. 07. 2014, 18:15:26
 ;D Ne, toto není o formulaci dotazu, problém je v tom, že dotyčný netuší co dělá... V tom případě je opravdu nejlepší si nejdřív přečíst, jak se něco dělá, než to začít stavět. Už v NÁZVU FetchAll je snad jasně patrné, že se bude vracet pole???
Název: Re:ZF vracia ARRAY namiesto vysledku
Přispěvatel: Filip Jirsák 28. 07. 2014, 19:14:33
souhlasím, formulovat to přesněji je vždy namístě, ale příspěvek na který jsem reagoval já je opravdu "umachrovaný"
Ale bohužel je adekvátní reakcí na tazatele. Ten se nejdřív zeptá s největší pravděpodobností dřív, než by se pokusil v dokumentaci zjistit, co jím použitá funkce vlastně dělá (navíc nechá odpovídající hádat, v čem vlastně programuje, protože místo názvu použije zkratku, která může znamenat cokoli). Následně zprasí kód, aby mu to z pole záznamů vracelo jen první záznam, načež se začne rozčilovat, že mu to vrací jenom první záznam a to je přesně to, co nechtěl.
V tomto případě opravdu musí tazatel nejdřív pochopit, že programování nefunguje tak, že si vymyslím, co má program dělat, následně použiju libovolnou funkci a ona bude dělat to, co jsem chtěl - ale právě naopak, role programátora je právě v tom, že vymyslí, jak stávající funkce, které dělají něco přesně daného, poskládat tak, abych dostal kýžený výsledek.