Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Jak zliczyc niektore dane z POSTa?
InosU31
post 23.10.2009, 20:35:00
Post #1





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

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


Witam

Mam taki maly problem i nie moge sobie za bardzo z tym poradzic...

Otoz mam formularz w ktorym wysylam kilka danych i chcialbym zliczyc tylko niektore z nich.

Przyklad:
  1. <INPUT type="text" name="user" value="costam">
  2. <INPUT type="text" name="strona" value="prawa">
  3. <INPUT type="text" name="link1" value="link1">
  4. <INPUT type="text" name="link2" value="link1">
  5. <INPUT type="text" name="link3" value="link1">
  6. <INPUT type="text" name="link4" value="link1">
  7.  


chodzi mi zeby zliczyc tylko te dane z posta w ktorych name = link1, link2 itd.
probowalem to zrobic za pomoca funkcji preg_match - porownac tylko te dane ktore chce i pozniej je zliczyc- ale cos mi nie wychodzi:/

A potrzebuje to do tego:

mam petle for ($i=0; $i < $zmienna_zliczona; $i++)

zeby nie pisac warunku jakiegos wymyslonego bo chce zeby petla wykonala sie tyle razy ile jest tych danych z posta - ale tylko tych z link... .

z gory dzieki za odp.

Pozdrawiam
Go to the top of the page
+Quote Post
wNogachSpisz
post 23.10.2009, 20:36:13
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


  1. <?php
  2. $link_key_list = array();
  3. foreach ( $_POST as $key => $val ) {
  4.     if ( preg_match('#^link#', $key) ) {
  5.         $link_key_list[$key] = $val;
  6.     }
  7. }
  8.  ?>


Ten post edytował wNogachSpisz 23.10.2009, 21:44:17
Go to the top of the page
+Quote Post
MateuszS
post 23.10.2009, 20:52:25
Post #3





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


  1. $ilosc=5;
  2. for($i=1; $i<=$ilosc; $i++) {
  3. echo '<INPUT type="text" name="link'.$i.'" value="link1">';
  4. }
  5.  
  6. //zmienna $ilosc okresla ci ilosc linkow


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
InosU31
post 23.10.2009, 21:53:15
Post #4





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

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


wNogachSpisz:

To dzialanie zliczy mi wszystko co wysle z formularza a ja chce tylko zliczyc niektore elementy


MateuszScirka:

ja juz mam zrobione to ile linkow ma mi wyswietlic a teraz chodzi o to by to co ja wysle formularzem zliczyc ale tylko niektore rzeczy

dzieki za zainteresowanie i wypowiedzi

moze ktos ma jeszce jakis pomysl?

Moze bardziej sprobuje wyjasnic na czym to ma polegac...

Robie sobie linki: poprzez liste rozwijana wybieram sobie ile linkow ma sie znajdowac w jednym dziale. max mozna wybrac 20. No dobra by nie bylo juz problemu ale mam jeszcze zrobione cos takiego ze podczas edycji mozna sobie usunac jakies linki lub dodac kolejne - bo czasem sie zapomni a pozniej nie trzeba wszystkiego odnowa wpisywac. i wlasnie nie wiem jak mam ustawic petle zeby mi tyle razy sie wykonala ile jest linkow - ta petla sluzy mi do dodania linkow do bazy wiec nie mam mozliwosci odczytania ich z bazy przed umieszceniem tam ich. a z drugiej strony nie walne warunku np. 1000 bo ta petla bedzie sie wykonywac troszke za dlugo;-) Probowalem kiedys to zrobic z a pomoca foreach ale cos mi tez to nie szlo:/

moze teraz ktos cos by podpowiedzial?

Pozdrawiam
Go to the top of the page
+Quote Post
MateuszS
post 23.10.2009, 21:59:10
Post #5





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Hmm zrozumialem ze chcesz wyciagnac ilosc wypelnionych pol, np masz wypelnionych 6/20 linkow i zwraca ci liczbe 6 z ktora cos tam robisz. Mozesz zrobic tak

  1. $c=0;
  2. for($i=1; $i<=20; $i++) {
  3. $a=array();
  4. $a[$i]=$_POST['link'.$i];
  5. if(!empty($a[$i])) {
  6. $c++;
  7. }
  8. }
  9. echo 'wypelniles '.$c.' linkow';


dostosowac ten kod wystarczylo by do wlasnych potrzeb


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
piotrooo89
post 23.10.2009, 21:59:41
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




no więc tak załóżmy że użytkownik w select'ie wybrał 5.

  1. $ile = $_POST['dane_ilosc_z_selecta'];
  2.  
  3. for ($i=1 ; $i<=$ile ; $i++)
  4. {
  5. echo '<INPUT type="text" name="link'.$i.'" value="link'.$i.'">';
  6. }


i teraz masz już utworzoną ilość inputów do wpisania linków.


--------------------
Go to the top of the page
+Quote Post
maciek_nh
post 23.10.2009, 22:02:39
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 23.10.2009

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


Jeśli dodajesz linki dynamicznie, chodzi mi że np klikasz "dodaj link" i pod spodem wskakuje ci nowe pole do dodania linka, to można ilość danych zliczyć za pomocą JS a potem wrzucić do pętli i zapisać tyle linków ile wybrałeś do bazy. Nie wiem czy Cię dobrze zrozumiałem :]
Go to the top of the page
+Quote Post
InosU31
post 25.10.2009, 18:27:11
Post #8





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

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


dzieki wam za pomoc. wstyd sie przyznac ale ja przeciez mam ustalone z gory ze max moge miec 20 linkow podczas tworzenia jednego dzialu a pozniej jak dodaje nastepne linki (jest to juz osobny plik - osobny formularz itd.) to przeciez odczytuje je normalnie z bazy - nie wiem dlaczego wczesniej o tym nie pomyslalem :/ Wiec mieliscie racje - dzieki wam za to i przepraszam za zawracanie wam glowy

Pozdrawiam
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: 13.07.2025 - 11:09