[API15] Dynamiczna nazwa w JRequest/getVar
Wyniki 1 do 8 z 8

Temat: [API15] Dynamiczna nazwa w JRequest/getVar

  1. #1
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny [API15] Dynamiczna nazwa w JRequest/getVar

    Postem przesyłam dane
    Kod:
    ["godzin"]=>   array(2) {     
       [32]=>     string(1) "130"
       [33]=>     string(1) "140"   
    }   
    ["minut"]=>   array(2) {
       [32]=>     string(2) "30"
       [33]=>     string(2) "15"
    }
    ["premia"]=>   array(2) {
       [32]=>     string(0) ""
       [33]=>     string(0) ""
    }
    Dopisujemy do pracowników 32 i 33
    Wydawało mi się, że pobranie takich tablic będzie dziecinnie proste
    To działa
    Kod PHP:
    foreach ($pracownicy as $pracownik) {
       
    print_r ($pracownik);// wynik ok [32]
       
    print_r($_POST[godzin][$pracownik]);// działa ok, 130

    Zachęcony wynikiem postanowiłem zrobić to zgodnie z J
    Kod PHP:
    foreach ($pracownicy as $pracownik) {
       
    print_r ($pracownik);// wynik ok [32]
       
    print_r(JRequest::getVar('godzin['.$pracownik.']''''post'));// nie działa a chyba powinno

    Testowałem to w różnych wariantach
    np:
    Kod PHP:
       $name='godzin['.$pracownik.']';// generuje godzin[32]
       
    JRequest::getVar($name'''post');// nie działa 
    Ma ktoś pomysł co źle robię?

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Wiarus neo_fox awatar
    Dołączył
    21-09-2006
    Skąd
     neos-mac:~ neo$ /Users/neo/
    Wpisy
    1 360
    Punkty
    63

    Domyślny

    Nie bardzo rozumiem co starasz się zrobić ale:

    Kod:
            $var = JRequest::getVar( 'varName', array(), 'post' );
            if( count( $var )) {
                foreach( $var as $index => $value ) {
                    print_r( $index );
                    print_r( $value );
                }
            }

  4. #3
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny

    Przetwarzam formularz z listą pracownikó, w którym są przypisywane przepracowane godziny z dokładnością do 15 minut oraz informacje o wysokości premii. Każdy pracownik ma swoje ID w systemie a formularz zawiera zamiast nazwiska tylko informacje o jego id prezentowane jako zmienna $pracownik
    w formularzu to wygląda mniej więcej tak

    Kod HTML:
    <input type="hidden" value="33" name="pracownik[]"/>
    <select name="godzin[33]">         <option>0</option><option>1</option><option>2</option>...
    </select>
    <select name="minut[33]"><option>00</option><option>15</option><option>30</option><option>45</option></select>
      <input type="checkbox" name="savepremia[33]"/> kwota netto:<input type="text" name="premia[33]" size="4"/>
    
    <input type="hidden" value="32" name="pracownik[]"/>
          <select name="godzin[32]"><option>0</option><option>1</option><option>2</option>...</select>
             <select name="minut[32]"><option>00</option><option>15</option><option>30</option><option>45</option></select>
      <input type="checkbox" name="savepremia[32]"/> kwota netto:<input type="text" name="premia[32]" size="4"/>
    Po przesłaniu muszę każdego pracownika zapisać do bazy poźniej ktoś na koniec miesiąca pobierze wynik po stronie administratora i zrobi z tym co bedzie chciał nie wnikając w szczegóły.

    Ujmując to całościowo powinienem otrzymać listę w tym stylu:

    $pracownik = 32 $godzin = 140 $minut=15 $premia=120
    $pracownik = 33 $godzin = 130 $minut=00 $premia=00
    przetwarzając to w foreach mogę pojedyncze linie zapisac do bazy jako rekordy
    Ostanio edytowane przez seeb : 15-02-2012 21:41

  5. #4
    Wiarus neo_fox awatar
    Dołączył
    21-09-2006
    Skąd
     neos-mac:~ neo$ /Users/neo/
    Wpisy
    1 360
    Punkty
    63

    Domyślny

    No to nadal czegoś nie rozumiem:

    Kod HTML:
    <input type="hidden" value="32" name="pracownik[]"/>
        <select name="godzin[32]">        <option>0</option>        <option>1</option>        <option>2</option>    </select>
    Skoro masz w tablicy id (32) to po co przesyłasz dodatkowo jako hidden?

    Nie byłoby raczej sensowniej:
    Kod:
        <select name="pracownik[33][godzin]">
            <option>0</option>
            <option>1</option>
            <option>2</option>
            ...
        </select>
        <select name="pracownik[33][minut]">
            <option>00</option>
            <option>15</option>
            <option>30</option>
            <option>45</option>
        </select></td>
        <input type="checkbox" name="pracownik[33][savepremia]"/> kwota netto:
        <input type="text" name="pracownik[33][premia]" size="4"/>
    
    
        <select name="pracownik[32][godzin]">
            <option>0</option>
            <option>1</option>
            <option>2</option>
            ...
        </select>
        <select name="pracownik[32][minut]">
            <option>00</option>
            <option>15</option>
            <option>30</option>
            <option>45</option>
        </select></td>
        <input type="checkbox" name="pracownik[32][savepremia]"/> kwota netto:
        <input type="text" name="pracownik[32][premia]" size="4"/>
    I wtedy:
    Kod:
            $var = JRequest::getVar( 'pracownik', array(), 'post' );
            if ( count( $var ) ) {
                foreach ( $var as $index => $worker ) {
                    echo "ID: {$index}";
                    echo "Godzin: {$worker['godzin']}";
                    echo "Minut: {$worker['minut']}";
                    echo "Savepremia: {$worker['savepremia']}";
                    echo "Premia: {$worker['premia']}";
                }
            }

  6. #5
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny

    chciałem to uprościć do maxa zebym za rok nie zastanawiał się co miałem na myśli mówiąc kiedy powiedziałem.. ale rozwiązanie warte sprawdzenia i dobrego opisania w komentarzach. I zaraz się temu przyjrzę. Oczywiście dam znać za pare chwil jak zadziała w praktyce.

  7. #6
    Wiarus neo_fox awatar
    Dołączył
    21-09-2006
    Skąd
     neos-mac:~ neo$ /Users/neo/
    Wpisy
    1 360
    Punkty
    63

    Domyślny

    No wiesz mnie się wydaję że ten kod jest dosyć zrozumiały bo w ten sposób widać wyraźnie które dane do czego należą

  8. #7
    Bywalec
    Dołączył
    15-10-2007
    Wpisy
    102
    Punkty
    30

    Domyślny

    Po przejżeniu reszty kodu, zastosowaniu porady na próbnym zestawie przyznaję Ci rację i dziekuję. Oczywiście dodaję punkcik.

  9. #8
    Wiarus neo_fox awatar
    Dołączył
    21-09-2006
    Skąd
     neos-mac:~ neo$ /Users/neo/
    Wpisy
    1 360
    Punkty
    63

    Domyślny

    Cytat Wysłane przez seeb Zobacz wiadomość
    Oczywiście dodaję punkcik.
    Dziękuję bardzo

Podobne tematy

  1. Fatal error: Class 'JRequest'
    przez 19patryk20 na forum Administracja - ogólne
    Odpowiedzi: 0
    Ostatni post/autor: 06-01-2012, 11:36
  2. Dynamiczna zmiana podstron
    przez jaro61 na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 8
    Ostatni post/autor: 03-09-2011, 00:57
  3. logo - dynamiczna zmiana
    przez zakik1990 na forum Szablony, wygląd, formatowanie
    Odpowiedzi: 2
    Ostatni post/autor: 27-07-2010, 21:43
  4. JRequest i mod_rewrite + proste adresy, jak to ożenić?
    przez Sputnik_Wwa na forum Administracja - ogólne
    Odpowiedzi: 1
    Ostatni post/autor: 26-11-2009, 03:12
  5. Dynamiczna całość
    przez DJKRSS na forum Szukam dodatku do Joomla
    Odpowiedzi: 4
    Ostatni post/autor: 11-05-2008, 18:51

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •