Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]odczytanie wielu zmiennych przekazanych za pomocą POST
Larges
post 17.06.2008, 14:29:06
Post #1





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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ę.


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
Shili
post 17.06.2008, 14:30:34
Post #2





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


Atrybuty name muszą być różne!
Go to the top of the page
+Quote Post
mike
post 17.06.2008, 14:32:21
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


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[]"
Go to the top of the page
+Quote Post
Larges
post 17.06.2008, 14:33:24
Post #4





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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?


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
mike
post 17.06.2008, 14:36:16
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Shili
post 17.06.2008, 14:36:40
Post #6





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


@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.

Ten post edytował Shili 17.06.2008, 14:37:28
Go to the top of the page
+Quote Post
Larges
post 17.06.2008, 14:45:54
Post #7





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Jak zatem rozwiązać tą sprawę?


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
mike
post 17.06.2008, 14:47:59
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Przeczytać poprzednie posty i wprowadzić u siebie podane przeze mnie rozwiązanie.
Go to the top of the page
+Quote Post
Shili
post 17.06.2008, 14:50:50
Post #9





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Larges
post 17.06.2008, 14:53:23
Post #10





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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.


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
mike
post 17.06.2008, 14:58:52
Post #11





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. foreach ($_POST['id_newsa'] as $key => $value) {
  4. echo $key . ' => ' . $value . "\n";
  5. }
  6.  
  7. ?>
Go to the top of the page
+Quote Post
Larges
post 17.06.2008, 16:28:28
Post #12





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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..;/


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
erix
post 17.06.2008, 21:19:30
Post #13





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Może by jakieś zapytanie, którego używasz?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 08:19