Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/MySQL]Jak przekazać dodatkową informację ?, Jak przekazać dodatkową informację ?
study
post 4.06.2005, 14:39:18
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.06.2005

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


Mam taki kod:
  1. <form action='f_11c2.php' method=post>
  2. <select name=\"Nazwa_s\">
  3. <option> ..::.Wybierz z listy.::S.. </option>
  4. <?
  5. $baza = 'xxxxx';
  6. $tab = 's_przystanek00';
  7. $connection = mysql_connect('localhost','yyyyyy','zzzzzz');
  8. $wybierz = mysql_select_db($baza, $connection) or die ('Nie udało się wybrać bazy !');
  9. $Numer = $HTTP_POST_VARS['Numer'];
  10. $Nazwa = $HTTP_POST_VARS['Nazwa'];
  11. $Typ = $HTTP_POST_VARS['Typ'];
  12. $Strefa  = $HTTP_POST_VARS['Strefa'];
  13. $Data  = $HTTP_POST_VARS['Data'];
  14. $Status  = $HTTP_POST_VARS['Status'];
  15. $pokaz_s = &#092;"SELECT Nazwa, Numer AS numers FROM $tab ORDER BY Nazwa\";
  16. $wynik = mysql_query($pokaz_s, $connection) or die ('Bład zapytania do bazy !');
  17.  if ($wynik)
  18.  {
  19. while ($wiersz = mysql_fetch_array($wynik))
  20. {
  21. $numers = $wiersz['numers'];
  22. $Nazwa  = $wiersz['Nazwa'];
  23. $Typ  = $wiersz['Typ'];
  24. $Strefa = $wiersz['Strefa'];
  25. $Data = $wiersz['Data'];
  26. $Status = $wiersz['Status'];
  27. ?>
  28. <option value=\"<?echo $wiersz['Nazwa']; ?>\"><?echo $wiersz['Nazwa']; ?></option>
  29. <?
  30. }
  31.  }
  32. $wyswietls=&#092;"<input type=hidden name='numers' value='$numers'>\"; echo\"$wyswietls\";
  33. ?>
  34. </select>

Działa to na tablicy, w której są dane:
Kod
7423    przyst1      j       I      2005-06-01      1
7424    przyst2      d       I      2005-06-01      1
7444    przyst23     d       II     2005-06-01      1
7445    przyst29     d       I      2005-06-01      1
7501    przyst48     j       I      2005-06-01      1

A teraz pytanie: Dlaczego zawsze tj. niezależnie od wybranej pozycji z listy, zmienna $wyswietls otrzymuje wartość 7501 questionmark.gif Jak dopiszę kolejną pozycję gdzie numer będzie następny (większy) to zawsze wybiera wartość max zamiast wartość odpowiednią do wybranej?
Chcę aby do zmiennej $wyswietls podstawiła się wartość "7424" gdy z listy wybiorę $Nazwa_s wartość "przyst2", albo gdy $Nazwa_s="przyst29" to $wyswietls="7445".
Co źle robię i jak to powinno być questionmark.gif
Natomiast w formularzu (skrypcie) 'f_11c2.php' będzie wykonywane INSERT do innej tablicy właśnie tego co będzie w parametrze $wyswietls.

Ten post edytował study 7.06.2005, 11:21:13


--------------------
_________________________________________
ABIT BE6-II/P3-866/512ram/200hdd/FE700
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
nospor
post 4.06.2005, 14:54:09
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




po pierwsze: w sql chcesz 2 pola, a w petli pobierasz wiecej
po drugie: w selecie wstawiasz pole typu hidden
po trzecie: zmienna $wyswietls otrzymuje zawsze ostatnią wartość numers, gdyż do tej zmiennej przypisujesz dopiero po pobraniu wszystkich wartości, czyli po każdej iteracji nadpisujesz poprzednią i w rezultacie pozostaje ci ostatnia


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
study
post 5.06.2005, 20:09:38
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.06.2005

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


ad1.) wiem o tym, ale jeszcze nie optymalizowałem kodu winksmiley.jpg
ad.2) to dobrze czy źle ?
ad.3) rozumiem, ale jak to poprawić ?


--------------------
_________________________________________
ABIT BE6-II/P3-866/512ram/200hdd/FE700
Go to the top of the page
+Quote Post
SongoQ
post 5.06.2005, 21:00:58
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@study co to znaczy nie optymalizowalem kodu? Robisz kopiuj - wklej z innego projektu?
2. oczywiscie ze zle, po co CI pole ukryte?
3. petla w ktorej zwracasz rekordy.


--------------------
Go to the top of the page
+Quote Post
study
post 5.06.2005, 21:26:36
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.06.2005

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


odp.1) tak - robię ^C ^V ale ze swojego projektu bo jest mi tak łatwiej - a co questionmark.gif nie wolno ?!?! tongue.gif - po za tym to nic nie wnosi do mojego pytania :/
odp.2) proszę przeczytać DOKŁADNIE mojego pierwszego posta !
odp.3) hmm, ale to nie jest oczekiwana odpowiedź sad.gif - co to pętla to wiem, ale jak rozwiązać ten problem questionmark.gif


--------------------
_________________________________________
ABIT BE6-II/P3-866/512ram/200hdd/FE700
Go to the top of the page
+Quote Post
SongoQ
post 5.06.2005, 21:45:57
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


ad 1. to nie jest zle, tak tylko skojarzylem ze to pewnie pozostalosc po kopiuj - wklej, sam nieraz tak robie i takie rzeczy sa nieuniknione.
ad 2. chodzilo mi o zastosowanie czegos innego niz ukrytego pola, ale ok.
ad 3. tak jak pisal @nospor $wyswietls="<input type=hidden name='numers' value='$numers'>"; echo"$wyswietls"; zawiera zawsze ostatni rekord.
Cytat
Chcę aby do zmiennej $wyswietls podstawiła się wartość "7424" gdy z listy wybiorę $Nazwa_s wartość "przyst2", albo gdy $Nazwa_s="przyst29" to $wyswietls="7445"

W jaki sposob wybierasz? zapytaniem? Mozesz troszeczke jasniej opisac mechanizm dzialania?


--------------------
Go to the top of the page
+Quote Post
study
post 6.06.2005, 21:22:20
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.06.2005

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


odp.1) - ok winksmiley.jpg
odp.2) to przyszło mi do głowy
odp.3) ma to działać tak:
poszczególne pozycje wybieram z listy (SELECT z bazy) po jej wybraniu, a następnie kliknięciu "wyślij" (type submit) ma nastąpić przesłanie dwóch informacji:
a.) pozycja z listy - zmienna $Nazwa_s
b.) numerek odpowiedni do tej pozycji - zmienna $numers
Dlatego tak ponieważ ten następny formularz (skrypt) ma zrealizować INSERT do bazy właśnie ten numerek z b.) a nie nazwę z a.) .

Ten post edytował study 6.06.2005, 21:24:01


--------------------
_________________________________________
ABIT BE6-II/P3-866/512ram/200hdd/FE700
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 07:53:12
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie rozumiem? Dla danej nazwy masz kilka odpowedzi ($numers)? Ale widać se skryptu że $nuemrs pobierasz z tego samego rekordu co nazwa, więc chyba jest to relacja jeden do jeden. W takim wypadku $numers wystarczy dać jako wartość w <option value="$numers"> i już będziesz mial numer dla nazwy


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
study
post 7.06.2005, 10:38:21
Post #9





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.06.2005

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


Ciężko tu mówić o "relacji" w jednej tablicy, ale fakt, że $numers jest z tego samego rekordu w tablicy co $Nazwa_s winksmiley.jpg
Wygląda na to, że wiesz o co mi "biega" winksmiley.jpg A możesz pomóc wstawić <option value="$numers"> do mojego skryptu questionmark.gif - Proszę Cię smile.gif

Ten post edytował study 7.06.2005, 10:40:38


--------------------
_________________________________________
ABIT BE6-II/P3-866/512ram/200hdd/FE700
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 10:42:42
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




źle użylem slowa relacje biggrin.gif chodzilo mi oto, oco mi chodzilo, i niepotrzebnie te relacje wstawilem

  1. <?php
  2.  
  3. //.....
  4. while ($wiersz = mysql_fetch_array($wynik))
  5.  {
  6. //........
  7.  echo &#092;"<option value=\"$numers\">$Nazwa</option>\";
  8.  }
  9. //....
  10.  
  11. ?>

i juz tego pola hidden nie dodawaj


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
study
post 7.06.2005, 11:20:09
Post #11





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.06.2005

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


smile.gif
Jest prawie, że oki tylko jak wstawię to tak:
  1. <?
  2. //.......[ciach]......
  3.  
  4. $Status = $wiersz['Status'];
  5.  
  6. echo &#092;"<option value=\"$numers\">$Nazwa</option>\";
  7. ?>
  8. <?
  9. }
  10.  }
  11. ?>
  12. </select>

to zmienna $Nazwa_s jest pusta sad.gif a też jest mi potrzebna ! :|


--------------------
_________________________________________
ABIT BE6-II/P3-866/512ram/200hdd/FE700
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 11:24:58
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




jaka $Nazwa_s. Wcześniej pisales $Nazwa. Się zdecyduj bo już nie wiem o co ci chodzi biggrin.gif
Jeśli nazwe teżchcesz przekazywać, możesz też dodać do option razem z numers tylko oddzielić np |:
  1. <?php
  2.  
  3. echo &#092;"<option value=\"$numers|$Nazwa\">$Nazwa</option>\";
  4.  
  5. ?>

przy odbieraniu zrobisz explode:
  1. <?php
  2.  
  3. $select=explode('|',$_POST['twojselect']);
  4. $numers=$select[0];
  5. $Nazwa=$select[1];
  6.  
  7. ?>


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
study
post 7.06.2005, 16:20:32
Post #13





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.06.2005

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


smile.gif
Jest coraz lepiej ale to jeszcze nie jest to sad.gif
A dlatego, że:
a.) $Nazwa - to nazwa zmiennej, pobieranej z tablicy;
b.) $Nazwa_s - to nazwa, w której przechowywana jest wartość wybrana z pkt. a.) wg "<select name="Nazwa_s" " - dlatego zrobiłem tak, ponieważ na tej samej stronie jeszcze raz wybieram $Nazwa, ale zapisuję pod $Nazwa_d - troszku może dziwne, ale tak jest mi to potrzebne, a nie chcę opisywać całego mojego projektu;
c.) o sposobie w jaki "odbieram" nie pisałem, a teraz to napiszę:
  1. <?
  2.  
  3. $Nazwa_s =$HTTP_POST_VARS['Nazwa_s'];
  4. $numers  =$HTTP_POST_VARS['numers'];
  5.  
  6. $wyswietl=&#092;"
  7. <p style='position:absolute; top:130px; left:220px;'><b>Skąd:</b></p>
  8. <p style='position:absolute; top:160px; left:130px;'><font size=1>$numers</font> $Nazwa_s</p><input type=hidden name='Nazwa_s' value='$Nazwa_s'>
  9. &#092;";
  10. echo &#092;"$wyswietl\";
  11. ?>

i teraz to by było na tyle winksmiley.jpg
Co teraz zrobić po stronie "wysyłającej" ?


--------------------
_________________________________________
ABIT BE6-II/P3-866/512ram/200hdd/FE700
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 16:26:06
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nazwa_s to nazwa selecta? tak. oki. Chcesz pobrać, to co gościu wybral, czyli nazwę i numer dla tej nazwy. Czyli robisz jak pisalem:
  1. <?php
  2.  
  3. echo &#092;"<option value=\"$numers|$Nazwa\">$Nazwa</option>\";
  4.  
  5. ?>


a pobierasz tez jak pisalem:
  1. <?php
  2.  
  3. $select=explode('|',$_POST['Nazwa_s']);
  4. $numers=$select[0];
  5. $Nazwa_s=$select[1];
  6.  
  7. ?>


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
study
post 7.06.2005, 21:28:23
Post #15





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.06.2005

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


Wszystko gra exclamation.gif
Dzięki exclamation.gif
smile.gif

Jednak nie do końca sad.gif
Jak zmodyfikować kod:
  1. <form action=\"f_11c3.php\" method=post>
  2. <?
  3. $selects =explode('|',$HTTP_POST_VARS['Nazwa_s']);
  4. $numers  =$selects[0];
  5. $Nazwa_s =$selects[1];
  6. $wyswietl  =&#092;"
  7. <p style='position:absolute; top:130px; left:220px;'><b>Skąd:</b></p>
  8. <p style='position:absolute; top:160px; left:130px;'><font size=1>$numers</font> $Nazwa_s</p><input type=hidden name='Nazwa_s' value='$Nazwa_s'>
  9. &#092;";
  10. echo &#092;"$wyswietl\";
  11. ?>

aby móc dalej przekazać nie tylko to co jest w zmiennej $Nazwa_s ale również, (a zwłaszcza) to co jest w zmiennej $numers ?
Najlepiej by było, aby można było przekazać tak jedną jak i drugą zmienną.

Ten post edytował study 8.06.2005, 10:46:00


--------------------
_________________________________________
ABIT BE6-II/P3-866/512ram/200hdd/FE700
Go to the top of the page
+Quote Post
nospor
post 8.06.2005, 12:10:28
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no tak jak zrobiles z Nazwa_s. Dodaj jeszcze jedno pole ukryte dla $numers


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
study
post 8.06.2005, 12:17:25
Post #17





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.06.2005

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


Ale właśnie nie wiem jak sad.gif (różnie kombinowałem i nic) i dlatego proszę Cię o pomoc winksmiley.jpg
I to musi być z $HTTP_POST_VARS - tylko gdzie ?
Jak w explode dopisać inny parametr?

Ten post edytował study 8.06.2005, 12:22:13


--------------------
_________________________________________
ABIT BE6-II/P3-866/512ram/200hdd/FE700
Go to the top of the page
+Quote Post
nospor
post 8.06.2005, 12:20:40
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jak to nie wiesz jak? Ktoś Ci pisal ten skrypt? Masz przecież jak wól wstawione pole ukryte dla NAzwa_S

proszę (juz też z $numers):
  1. <?php
  2.  
  3. $wyswietl  =&#092;"
  4.  .... 
  5. <input type=&#092;"hidden\" name=\"Nazwa_s\" value=\"$Nazwa_s\">
  6. <input type=&#092;"hidden\" name=\"numers\" value=\"$numers\">
  7. &#092;";
  8. echo &#092;"$wyswietl\";
  9.  
  10. ?>


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
study
post 8.06.2005, 13:19:59
Post #19





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.06.2005

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


hmm :|
Albo czegoś nie rozumiem (możliwe) albo coś nie tak z tym kodem:
  1. <form action=\"f_11c3.php\" method=post>
  2. <?
  3. $selects =explode('|',$HTTP_POST_VARS['Nazwa_s']);
  4. $numers  =$selects[0];
  5. $Nazwa_s =$selects[1];
  6. $wyswietl  =&#092;"
  7. <p style='position:absolute; top:130px; left:220px;'><b>Skąd:</b></p>
  8. <p style='position:absolute; top:160px; left:130px;'><font size=1>$numers</font> $Nazwa_s</p><input type=&#092;"hidden\" name=\"Nazwa_s\" value=\"$Nazwa_s\">
  9. <input type=&#092;"hidden\" name=\"numers\" value=\"$numers\">
  10. &#092;";
  11. echo &#092;"$wyswietl\";
  12. ?>

A może źle odbieram tym skryptem (f_11c3.php):
  1. <?
  2. $baza = &#092;"zzz\";
  3. $tab = &#092;"s_czas00\";
  4. $connection = mysql_connect(&#092;"localhost\",\"xxx\",\"yyy\");
  5. $wybierz = mysql_select_db($baza, $connection) or die (&#092;"Nie udało się wybrać bazy !\");
  6.  
  7.  $numers =$HHTP_POST_VARS['numers'];
  8.  $Nazwa_s  =$HTTP_POST_VARS['Nazwa_s'];
  9.  
  10. $wstaw = &#092;"INSERT INTO $tab
  11.  (Skad)
  12.  VALUES
  13.  ('$numers')
  14.  &#092;";
  15. $wynik = mysql_query($wstaw, $connection);
  16.  
  17. if ($wynik)
  18.  {
  19. &#092;"
  20. <p style='position:absolute; top:130px; left:220px;'><b>Skąd:</b></p>
  21. <p style='position:absolute; top:160px; left:130px;'><font size=1>$numers</font>$Nazwa_s</p>
  22.  
  23. <input type=button value='Powrót' OnClick=&#092;"self.location.href='f_11_czasiodleglosc.php'\" style='width: 80px; height: 30px; position:absolute; top:290px; left:500px;'>
  24. &#092;";
  25.  }
  26. else { echo &#092;"<h2>Nie dopisano do słownika :(</h2>
  27.  
  28. <input type=button value='Powrót' OnClick='history.back()' style='width: 80px; height: 30px; position:absolute; top:290px; left:500px;'>
  29. &#092;";
  30.  }
  31. ?>

Proszę poradź co zrobić exclamation.gif


--------------------
_________________________________________
ABIT BE6-II/P3-866/512ram/200hdd/FE700
Go to the top of the page
+Quote Post
nospor
post 8.06.2005, 13:26:02
Post #20





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1)Ale co? jakis blad ci wywala?
2) czy ty wogóle zamykasz ten formualrz gdzie masz ola ukryte?
3)daj se echo w tym f_11c3.php i powiedz czy otrzymales te zmienne:
echo "Numers: $numers; Nazwa_s: $Nazwa_s";


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 14.08.2025 - 02:00