![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Kołobrzeg Ostrzeżenie: (0%) ![]() ![]() |
Mam takie cosik:
[php:1:9703af67a9]<?php while ($result = @mysql_fetch_array($do)) { $check = "SELECT * FROM trasy WHERE id_miejscowosci=$result[id] AND id_trasy='$trasa' ORDER BY nr_porzadkowy"; $do1 = mysql_query($check, $conn); $result1 = @mysql_fetch_array($do1); $stacja_poczatkowa = $result1[nr_porzadkowy]; $result2 = @mysql_fetch_array($do1); $stacja_koncowa = $result2[nr_porzadkowy]; $select2 = "SELECT * FROM trasy WHERE id_trasy='$trasa' AND nr_porzadkowy BETWEEN '$stacja_poczatkowa' AND '$stacja_koncowa' "; ?>[/php:1:9703af67a9] jednak zmiennych $stacja_poczatkowa oraz _koncowa nie podstawia mi w tejze pętli do kolejnego zapytania.w petli tej wiem ze jednak dobrze wyswietla obie zmienne,natomiast poza petla jest juz widoczna tylko zmienna $stacja_koncowa. Czy można jakoś tak przypisac wynik zapytania do zmiennych zeby byla widoczna kazda zmienna, i dlaczego nie chce mi podstawic tych zmiennych do tego drugiego zapytania? ?>[/php] |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 165 Pomógł: 9 Dołączył: 9.04.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
echo $select2;
sprawdz czy sie co sie Tobie wyswietli chyba nie musza byc apostrofy ' Lukasz |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
A może napisz WYRAŹNIE gdzie się ta pętla zaczyna i gdzie się kończy, bo zaakończenia jakoś nie widzę.
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 17.05.2003 Skąd: Kraków , Londyn Ostrzeżenie: (0%) ![]() ![]() |
[php:1:6405f6894a]<?php
while ($result = @mysql_fetch_array($do)) { $check = "SELECT * FROM trasy WHERE id_miejscowosci='".$result['id']."' AND id_trasy='".$trasa."' ORDER BY nr_porzadkowy"; $do1 = mysql_query($check, $conn); $result1 = @mysql_fetch_array($do1); $stacja_poczatkowa = $result1['nr_porzadkowy']; $result2 = @mysql_fetch_array($do1); $stacja_koncowa = $result2['nr_porzadkowy']; $select2 = "SELECT * FROM trasy WHERE id_trasy='".$trasa."' AND nr_porzadkowy BETWEEN '".$stacja_poczatkowa."' AND '".$stacja_koncowa."' "; ?>[/php:1:6405f6894a] Ale nie rozumiem tu kilku rzeczy , np tego : [php:1:6405f6894a]<?php $do1 = mysql_query($check, $conn); $result1 = @mysql_fetch_array($do1); $stacja_poczatkowa = $result1['nr_porzadkowy']; $result2 = @mysql_fetch_array($do1); $stacja_koncowa = $result2['nr_porzadkowy']; ?>[/php:1:6405f6894a] result1 i result2 to sa te same informacje . Podaj wiecej kodu . -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Kołobrzeg Ostrzeżenie: (0%) ![]() ![]() |
Kod już troszke ewaluował ale i tak nie moge zrobić tego co chce czyli cale petle od poczatku wygladaja tak:
[php:1:5c22934652]<?php $city = "SELECT * FROM miejscowosci WHERE miejscowosc='$odjazd' || miejscowosc='$przyjazd'"; $do = mysql_query($city, $conn); while ($result = @mysql_fetch_array($do)) { $check = "SELECT * FROM trasy WHERE id_miejscowosci=$result[id] AND id_trasy='$trasa' ORDER BY nr_porzadkowy"; $do1 = mysql_query($check, $conn); $result1 = @mysql_fetch_array($do1)) $stacja = "$result1[nr_porzadkowy]"; } echo ("$stacja[0]<br>$stacja[1]"); if (isset($stacja[1])) włączyłem jeszcze instrukcje if z myślą zeby wykonał poniższe polecenie dopiero za drugim przebiegiem pętli czyli wtedy gdy już oba elementy tablicy $stacja beda ustawione { $select2 = "SELECT * FROM trasy WHERE nr_porzadkowy BETWEEN '$stacja[0]' AND '$stacja[1]' AND id_trasy='$trasa'"; $do2 = mysql_query($select2, $conn); while ($result3 = mysql_fetch_array($do2)) { echo $result3[id_miejscowosci]; $upd = "UPDATE rezerwacje SET miejsca = miejsca -'$osoby' WHERE id_miejscowosci='$result3[id_miejscowosci]' AND data='$data'"; mysql_query($upd, $conn); } }else{ echo "dupa"; } } ?>[/php:1:5c22934652] niestety dalej nie wykonuje mi zapytania z warunkiem BETWEEN a z kolei calkowicie poza petla tablica $stacja ma przypisana tylko jedna wartość z ostatniego przebiegu petli. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Cytat [php:1:d5719feffd]<?php
//.... $stacja = "$result1[nr_porzadkowy]"; //..... ?>[/php:1:d5719feffd] a z kolei calkowicie poza petla tablica $stacja ma przypisana tylko jedna wartość z ostatniego przebiegu petli. Jeśli to jest tablica to traktuj ją jak tablicę. Pewnie się obraziła, że traktujesz ją jak zwykłego stringa i za każdym przebiegiem zmieniasz jej wartość. I popraw to: [php:1:d5719feffd]<?php $select2 = "SELECT * FROM trasy WHERE nr_porzadkowy BETWEEN '$stacja[0]' AND '$stacja[1]' AND id_trasy='$trasa'"; ?>[/php:1:d5719feffd] tak [php:1:d5719feffd]<?php $select2 = "SELECT * FROM trasy WHERE nr_porzadkowy BETWEEN '".$stacja[0]."' AND '".$stacja[1]."' AND id_trasy='$trasa'"; ?>[/php:1:d5719feffd] -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 165 Pomógł: 9 Dołączył: 9.04.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
to jest zle:
$stacja = "$result1[nr_porzadkowy]"; powinno byc: $stacja = $result1["nr_porzadkowy"]; Kossa |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Cytat to jest zle:
$stacja = "$result1[nr_porzadkowy]"; powinno byc: $stacja = $result1["nr_porzadkowy"]; Kossa Jednakowoż jeśli to ma być tablica to ja zrobiłbym: [php:1:58131f713b]<?php $stacja[$i++] = $result1['nr_porzadkowy']; ?>[/php:1:58131f713b] A przed while ustawiłbym jeszcze $i = 0; -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Kołobrzeg Ostrzeżenie: (0%) ![]() ![]() |
No faktycznie z ta tablica przegiolem ale sek w tym ze nawet prawidlowo przypisana tablica tez mi cos nie dziala...tzn. elementy sa widoczne wewnatrz petli a poza nia jest tylko ostatnia czyli za kazdym przebiegiem petli do tablicy przypisuje wartosci z danego przebiegu wwwrrr a ja chce zeby ustawil i jedna i druga wartosc w tej tablicy tak zebym obie mial poza petla widoczne.
Moglbys napisac jak odpowiednio przypisac do tej tablicy za pierwszym przebiegiem -pierwsza wartosc zapytania w pierwszym elemencie tablicy i za drugim przebiegiem druga wartosc jako drugi element? PLEAASEEE HELP ME bo juz mi sie mozg przegrzewa aaa |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Czytaj post powyżej, masz tam jasno napisane.
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Kołobrzeg Ostrzeżenie: (0%) ![]() ![]() |
to tez nie dziala wciaz mam tylko wartosc z danego przebiegu a nie z obu w jednej tablicy.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Sorry, ale nie wierzę! Wyświetl za pętlą coś takiego:
print_r($stacja); i powiedz co widzisz. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Kołobrzeg Ostrzeżenie: (0%) ![]() ![]() |
Wyswietla tylko: Array ( [0] => 3 )
a cały kod w tej chwili wyglada tak: [php:1:4c6ab36aa4]<?php $city = "SELECT * FROM miejscowosci WHERE miejscowosc='$odjazd' || miejscowosc='$przyjazd'"; $do = mysql_query($city, $conn); while ($result = @mysql_fetch_array($do)) { $check = "SELECT * FROM trasy WHERE id_miejscowosci=$result[id] AND id_trasy='$trasa' ORDER BY nr_porzadkowy"; $do1 = mysql_query($check, $conn); $i = "0"; while ($result1 = @mysql_fetch_array($do1)) { $stacja[$i++] = $result1['nr_porzadkowy']; } if (isset($stacja[koniec])) { $select2 = "SELECT * FROM trasy WHERE nr_porzadkowy BETWEEN '".$stacja[poczatek]."' AND '".$stacja[koniec]."' AND id_trasy='$trasa'"; $do2 = mysql_query($select2, $conn); while ($result3 = mysql_fetch_array($do2)) { echo "$result3[id_miejscowosci]"; $upd = "UPDATE rezerwacje SET miejsca = miejsca -'$osoby' WHERE id_miejscowosci='$result3[id_miejscowosci]' AND data='$data'"; mysql_query($upd, $conn); } }else{ echo "dupa"; } } print_r($stacja); ?>[/php:1:4c6ab36aa4] ?>[/php] |
|
|
![]()
Post
#14
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
A mówiłem: $i = 0 przed while! O przepraszam.... on jest przed while, ale jest też za. Nic nie rozumiem. MOgę wiedzieć co ma na celu umieszczenie tego drugiego while w pierwszym?
I wywal $i = 0 prezed pierwszego while! Wywal to w ogóle na początek skryptu! Wywal to w ogóle!..... tego nie rób, zagalopowałem się. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Kołobrzeg Ostrzeżenie: (0%) ![]() ![]() |
wyciagnełem zupełnie przed wszystkie while i działa!!!! Wielkie dzięki oczywiscie punkt dla Ciebie!
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:14 |