Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: caesar 15. 04. 2013, 08:55:50

Název: PHP array - pomoc so syntaxom
Přispěvatel: caesar 15. 04. 2013, 08:55:50
hi all,
potreboval by som malicku pomoc s prikazom foreach v php. niesom programator tak ma prosim nezastrelte.
Kód: [Vybrat]
<?php foreach ($this->userfields['fields']->zip as $field) {
if (!empty(
$field['value'])) {
echo 
$field['title'] . $field['value'];
}
}
?>

mam tento prikaz, ktory mi vypise vsetky nazvy a hodnoty poli. konkretne mi to vypise tieto hodnoty:
nazov pola          hodnota
krstné meno     blablauser
priezvisko     blablauser
email     blablauser@blabla.sk

atd., atd.
ako to mam ale zadat, ked chcem aby mi to vypisalo iba hodnotu jedneho konkretneho pola? napr. iba email?
Název: Re:php array - pomoc so syntaxom
Přispěvatel: tommm 15. 04. 2013, 09:23:38
A to vybiras uzivatele z tabukly v db? Pokud ano, proc takto? Nebo z nejakeho souboru???
Zkus se kouknout do doku -
nebo do jine ,,,
Název: Re:php array - pomoc so syntaxom
Přispěvatel: caesar 15. 04. 2013, 09:42:20
ano, vybera zo z db. jedna sa o usek kodu z virtuemartu a ako som spominal vyssie, niesom programator, iba som nieco funkcne v kode nasiel, chcem to mierne upravit a pouzit. preco takto, netusim :(
ale asi to taha hodnoty z tejto tabulky, resp. vypis je presne podta tohoto... samozrejme na konkretneho uzivatela
http://imageshack.us/f/14/28408336.jpg/
Název: Re:php array - pomoc so syntaxom
Přispěvatel: Zopper 15. 04. 2013, 09:44:36
ako to mam ale zadat, ked chcem aby mi to vypisalo iba hodnotu jedneho konkretneho pola? napr. iba email?
Pokud je to pole, tak použij index. Je ale otázka, jestli to je stabilně pojmenované, nebo jen naházené do pole v nějakém pořadí. Pokud pojmenované:
Kód: [Vybrat]
$this->userfields['fields']->zip['email']['value']Jenže ono to taky pole být nemusí, může to být iterátor
Kód: [Vybrat]
$this->userfields['fields']->zip->email['value']A nebo to může být prostě hozené do pole a jednou mít takový a jednou onaký index:
Kód: [Vybrat]
$this->userfields['fields']->zip[$nejake_menici_se_cislo]['value']
Takže jak napsal tommm, podívej se do dokumentace. Ono by třeba mohlo stačit změnit ten dotaz, kterým to z databáze vytáhneš - protože filtrovat by se ve většině případů mělo už v databázi, ne ve skriptech.
Tzn. něco jako $query->select('*') nahradit za $query->select('email')
Název: Re:php array - pomoc so syntaxom
Přispěvatel: Zopper 15. 04. 2013, 09:48:10
Koukl jsem na obrázek. Tak ten sql budeš muset filtrovat výběrem správného sloupce (value) a podmínkou (name LIKE 'email') a ve výsledku to zřejmě je jen očíslované pole, nebo iterátor, který musíš projít postupně. Takže si uprav SQL dotaz a následně pak jeho zpracování.
Název: Re:PHP array - pomoc so syntaxom
Přispěvatel: caesar 15. 04. 2013, 09:58:50
velmi sa ospravedlnujem, ale postol som tu uz moj pokus...
tu je originalny prikaz
Kód: [Vybrat]
<?php foreach ($this->userfields['fields'] as $field) {
if (!empty(
$field['value'])) {
echo 
$field['title'] . $field['value'];
}
}
?>


co ted?
Název: Re:PHP array - pomoc so syntaxom
Přispěvatel: Zopper 15. 04. 2013, 10:02:58
co ted?
To samé, jen si odmyslet to "->zip" tam kde je.
Název: Re:PHP array - pomoc so syntaxom
Přispěvatel: DK 15. 04. 2013, 10:08:35
pouzij na tu promennou var_dump, at vidis strukturu

nejlepe takhle
Kód: [Vybrat]
print '<pre>'; var_dump($promenna); print '</pre>';
Název: Re:PHP array - pomoc so syntaxom
Přispěvatel: tommm 15. 04. 2013, 10:11:45
velmi sa ospravedlnujem, ale postol som tu uz moj pokus...
tu je originalny prikaz
Kód: [Vybrat]
<?php foreach ($this->userfields['fields'] as $field) {
if (!empty(
$field['value'])) {
echo 
$field['title'] . $field['value'];
}
}
?>


co ted?

Pokud resis podobny problem poprve, tak to bude mozna i bolet :) Kazdopadne bych ti radil si projit odkaz, ktery jsem ti postnul a trosku se snazit pochopit logiku a syntax - pokud to nepouzivas denne a casto, netreba si za kazdou cenu pamatovat - staci vedet kde hledat a pripomenout si to. Ulehcis si zivot.
Pokud to mas resit nahodile a chces jen reseni a nezabejvat se s tim dal, tak radim dat dohromady 1 poradny koment, ve kterem poskytnes priklad zdroje dat (struktury tabulky) a reknes co to ma delat a hodit za vysledek a verim, ze ti to nekdo vyresi, protoze je to trivka.

Treba i ja, ale dostanu se k tomu az vecer, takze ...
Název: Re:PHP array - pomoc so syntaxom
Přispěvatel: caesar 15. 04. 2013, 10:26:39
mno... potrebujem to vyriesit jednorazovo, pokusal som sa zbezne si nastudovat syntaxy array, ale kedze tu pisem a prosim o pomoc tak mi to bolo prd platne :(

jedna sa o virtuemart ako som vyssie pisal a subor invoice_order.php, ktory sa stara o strukturu faktury. z jeho kodu sa potom generuje pdf pomocou tcpdf. postol by som tu aj cely zdrojak suboru, ale vacsinou je to len html table a echo (echa) na jazykoy subor (proste len vypise text pomocou echo JText::_).
vramci tohto suboru je aj tento prikaz, ktory som tu uz daval ale pre prehladnost ho tu dam znova (ospravedlnujem sa za zmatok)
Kód: [Vybrat]
<?php foreach ($this->userfields['fields'] as $field) {
if (!empty(
$field['value'])) {
echo 
$field['title'] . $field['value'];
}
 }
?>


tento kod mi vyhodi toto:
Kód: [Vybrat]
E-Mail                blabla@mail.com
Krstné meno        Krstné meno ke
Priezvisko            Priezvisko
Adresa 1             Adresa 1
PSČ                   04501
Mesto                 Mesto
Štát                   Slovakia
Telefón               055/123456
Mobilný telefón     0905123456

chcem dosiahnut to, aby som pravdepodobne nejako modifikovanym vyssie postnutym prikazom, popripade inym, vedel vytiahnut iba napriklad value emailu, tzn. toto blabla@mail.com
dalsie informacie by som rad podal, ale kedze sa v tom nevyznam, neviem co je pre pochopenie tohto mojho problemu relevantna informacia
Název: Re:PHP array - pomoc so syntaxom
Přispěvatel: Tomas Matejicek 15. 04. 2013, 10:53:14
Kód: [Vybrat]
<?php 
   
foreach ($this->userfields['fields'] as $field)
   {
      if (!empty(
$field['value']))
         if (
$field['title']=='E-Mail')
             echo 
$field['title'] . $field['value'];
   }
?>

Název: Re:PHP array - pomoc so syntaxom
Přispěvatel: caesar 15. 04. 2013, 10:57:37
funguje :)
dakujem, dakujem, dakujem vsetkym
Název: Re:PHP array - pomoc so syntaxom
Přispěvatel: caesar 15. 04. 2013, 11:26:11
este taka prkotina, ked mam v title interpunkcne znamiena, tak mi to title nechce brat. existuje na to nejake jednoduche riesenie?
Název: Re:PHP array - pomoc so syntaxom
Přispěvatel: caesar 15. 04. 2013, 13:56:18
vyriesene. este raz dakujem za pomoc vsetkym.
LOCK