Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]odczytanie wielu zmiennych przekazanych za pomocą POST
Forum PHP.pl > Forum > Przedszkole
Larges
Kod
<form method='POST' action='xxx.php'>
<table border='0' bgcolor='#B51F2A'><tr>
while($wykonaj3 = mysql_fetch_array($baza3)) {
        echo "<td><input type='checkbox' name='id_newsa' value='$wykonaj3[0]'>


Witam, nie bardzo wiem jak mogę w następnej podstronie odczytać wiele wyników, tzn id newsów, które zostały zaznaczone ptaszkiem. Moja metoda odczytuje ostatni news, a gdy biorę to w while robi się mnogość, ale również ostatniego newsa. Jak zatem za to się zabrać? Za podpowiedź dziękuję.
Shili
Atrybuty name muszą być różne!
mike
Cytat(Shili @ 17.06.2008, 15:30:34 ) *
Atrybuty name muszą być różne!
Niekoniecznie. Mogą przecież być tablicą.
~Larges czek dis ałt: name="id_newsa[]"
Larges
a przekazując metodą get, jak mogę odczytać te same atrybuty? Jest taka opcja?

mam adres np. plik.php?id=1&id=2&id=3
jest opcja odczytania wszystkich?
mike
Cytat(Larges @ 17.06.2008, 15:33:24 ) *
mam adres np. plik.php?id=1&id=2&id=3
jest opcja odczytania wszystkich?
Nie. Tak również odczytasz tylko ostatnia wartość.
A opcja jest. Patrz wyżej mój post.
W przypadku metody GET byłoby to: http://plik.php?id[]=1&id[]=2&id[]=3
Shili
@mike
Ale będąc tablicą są jak najbardziej różne - są to różne elementy tablicy.

@Larges
Też nie można, nie możesz robić tego w ten sposób, że każda zmienna przekazywana ma dokładnie tą samą nazwę, bo będą one nadpisywane.
Larges
Jak zatem rozwiązać tą sprawę?
mike
Przeczytać poprzednie posty i wprowadzić u siebie podane przeze mnie rozwiązanie.
Shili
Ja może jeszcze rozszerzę, czemu tak się pluję o nazwę, a rozwiązanie mike'a i tak działa mimo że pozornie nazwy argumentów są takie same. Taka składania tablicy powoduje, że wypełniane są KOLEJNE elementy tablicy, nie jeden ten sam, więc w rezultacie zmienne są inne, pierwsza to $id[0], druga $id[1] i tak dalej. Jest to po prostu uproszczenie języka.
Larges
wprowadziłem tablicę tak jak radziłeś,
następnie na kolejnej postronie muszę ją odczytać

Pierwszy pomysł i wiadomo, zły:
echo $_POST[id_newsa[]] - odpada, nie można używać 2 nawiasów kwadratowych

kolejny zły pomysł:
for($i=0; $i<$wszystkie_newsy; $i++) {
$_POST[id_newsa$i] - w nawiasach klamrowych metody POST, GET się nie używa $ znaku zmiennej...
}

Jak mam to odczytać? Dziękx za podp.
mike
  1. <?php
  2.  
  3. foreach ($_POST['id_newsa'] as $key => $value) {
  4. echo $key . ' => ' . $value . "\n";
  5. }
  6.  
  7. ?>
Larges
teraz napotkałem na problem przy zapisie do bazy danych wyżej wymienionej wyników zawartości kolumny value.

mam tabelę w bazie:
id, news1, news2, news3, news4 i chciałbym aby w tych kolumnach znalazły się cztery (tyle wynosi maks, który już zdefiniowałem) wartości z tabeli. Nie chcę przedstawiać moich wypocin bo się ośmieszę ;/

Dodam że każda moja próbwa zakonczyla sie wpisaniem jednego, ostatniego wyniku..;/
erix
Może by jakieś zapytanie, którego używasz?
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.