PHP array - pomoc so syntaxom

caesar

PHP array - pomoc so syntaxom
« kdy: 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?
« Poslední změna: 15. 04. 2013, 09:52:13 od Petr Krčmář »


tommm

Re:php array - pomoc so syntaxom
« Odpověď #1 kdy: 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 ,,,

caesar

Re:php array - pomoc so syntaxom
« Odpověď #2 kdy: 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/

Zopper

  • *****
  • 657
    • Zobrazit profil
Re:php array - pomoc so syntaxom
« Odpověď #3 kdy: 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')

Zopper

  • *****
  • 657
    • Zobrazit profil
Re:php array - pomoc so syntaxom
« Odpověď #4 kdy: 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í.


caesar

Re:PHP array - pomoc so syntaxom
« Odpověď #5 kdy: 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?

Zopper

  • *****
  • 657
    • Zobrazit profil
Re:PHP array - pomoc so syntaxom
« Odpověď #6 kdy: 15. 04. 2013, 10:02:58 »
co ted?
To samé, jen si odmyslet to "->zip" tam kde je.

DK

Re:PHP array - pomoc so syntaxom
« Odpověď #7 kdy: 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>';

tommm

Re:PHP array - pomoc so syntaxom
« Odpověď #8 kdy: 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 ...

caesar

Re:PHP array - pomoc so syntaxom
« Odpověď #9 kdy: 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

Re:PHP array - pomoc so syntaxom
« Odpověď #10 kdy: 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'];
   }
?>


caesar

Re:PHP array - pomoc so syntaxom
« Odpověď #11 kdy: 15. 04. 2013, 10:57:37 »
funguje :)
dakujem, dakujem, dakujem vsetkym

caesar

Re:PHP array - pomoc so syntaxom
« Odpověď #12 kdy: 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?

caesar

Re:PHP array - pomoc so syntaxom
« Odpověď #13 kdy: 15. 04. 2013, 13:56:18 »
vyriesene. este raz dakujem za pomoc vsetkym.
LOCK