Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: w zmiennej $_POST['nazwa'] jest wartośc z array
Forum PHP.pl > Forum > PHP
scorpion10
Witam ! jak mając odczytane wartości z tablicy Array w zmiennej $_POST['nazwa'] jak teraz odczytać poszczególne indexy tablicy
przypisać do nowych zmiennych. odczytując dane z bazy to łatwe np w pętli while. Ale tu nie wiem jak ma wyglądać poprawny zapis nie wiem gdzie
podać nr indeksu z tablicy, próbowałem tak:

$zmienna = $_POST['nazwa'][0];


ale nie działa. Jak ma wyglądać poprawna forma składni ?


viking
Najpierw sprawdź co jest w tej tablicy var_dump($_POST['x']); a później już wedle życzenia, foreach, while, list. Tak opisałeś problem że nie do końca wiadomo o co chodzi.
scorpion10
<form action="test4.php" method="post">

<SELECT name="dzien[]" size="1">
<option>pon</option>
<option>wt</option>
<option>śr</option>
<option>czw</option>
<option>pia</option>
<option>sob</option>
</SELECT>

<button type="submit" name="dzien[]" value = " " >Kasuj Rekord</button>

</form>

$wynik = count ($_POST['dzien']);

i teraz mając odczytaną wartośc wybranej pozycji <option> w zmiennej z tablicy chce ją przypisac do nowej zmiennej i potem podstawić jako wartość rekordu do skasowania w bazie. Chce do tego uzyć
opcji <button> bo wysłam formularz roznymi przyciskami i jak chce skasować powiedzmy dany dzień z bazy to wlasnie przez przycisk jak wyzej podany. Mysle ze teraz opisałem lepiej o co mi chodzi. I proszę ci podaj mi dokladny zapis a nie czym. Bo wiemze while lub foreach itp.. ale niemoge dopasowac zapisu bo mam syntax albo zero wyniku a w tablicy jest. Mozesz pop prostu zapisac mi poprawnie jak przypisac nową wartośc do tej zmiennej z wartościa z tablicy $_POST['dzien']. Bo print_r pokazuje ze wartośc jest przypisana wybrana z listy wartości <option>
viking
Trochę bez sensu ten formularz.
SELECT name="dzien[]" mowi ze będzie tablica wartości czyli od razu powinien być multiple="multiple" ale zarazem limitujesz do jednej wartości (size=1) czyli wtedy powinno być name=dzien. Submit połączy obie tablice i wydrukuje dwa elementy: wybrany dzień oraz spację " ".

Jeśli chcesz kasować kilka dni na raz to wywal size, submit nazwij załóżmy name="kasuj_rekord", option niech mają value po kolei 1,2,3 dla każdego dnia i w PHP:

  1. <form action="" method="post">
  2.  
  3. <SELECT name="dzien[]" multiple="multiple">
  4. <option>pon</option>
  5. <option value=2>wt</option>
  6. <option value=3>śr</option>
  7. <option>czw</option>
  8. <option>pia</option>
  9. <option>sob</option>
  10. </SELECT>
  11.  
  12. <button type="submit" name="kasuj_rekord" value = " " >Kasuj Rekord</button>
  13.  
  14. </form>
  15.  
  16. <?php
  17.  
  18. if (isset($_POST['kasuj_rekord'])) {
  19. $doSkasowania = implode(',', $_POST['dzien']);
  20. DELETE... WHERE costam IN($doSkasowania)
  21. }}

scorpion10
W sumie potrzebuje wybrać jedną wartość ale nie wiem jak odczytać zaznaczoną pozycje na liście wyboru, jak rozpoznać która została wybrana i przesłać ją
do zmiennej. Zdecydowalem sie więc na tablice i z niej wybrać wymagany index, ale nie jest to raczej dobry wybór w sytuacji w jakiej ja chce uzyć tylko jedenj wartości.
Dzięki twojemu przykładowi na tablice wiem juz jak to zrobic z pojedynczą wartości za co wielkie dzięki.
trueblue
Tu miałeś odpowiedź: Temat: Wynik z bazy Mysql wyswietlany w %3Coption%3E%3C option%3E jak rozpoznac
viking
Opisałem dokładniej twój problem jeśli chcesz poczytać.
IAmBoskiM
  1. <form action="test4.php" method="post">
  2. <SELECT name="dzien[]" size="1">
  3. <option>pon</option>
  4. <option>wt</option>
  5. <option>śr</option>
  6. <option>czw</option>
  7. <option>pia</option>
  8. <option>sob</option>
  9. </SELECT>
  10. <button type="submit" name="dzien[]" value="kasuj">Kasuj Rekord</button>
  11. </form>


test4.php
  1. <?php
  2. function pre ($arr, $var = false) {
  3. echo '<pre>;
  4. if ($var) {
  5. var_dump($arr);
  6. } else {
  7. print_r($arr);
  8. }
  9. echo '</pre>';
  10. }
  11. pre($_POST);
  12. // jezeli zaznaczysz np pon dostaniesz cos takiego
  13. Array (
  14. 'dzien' => Array (
  15. 0 => 'pon',
  16. 1 => 'kasuj'
  17. )
  18. )
  19. // jezeli inny dzien to ten pon zamieni sie na ten dzien
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.