Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wybor sortowania przez MySQL
Marusz
post 19.05.2003, 09:48:41
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 16.05.2003
Skąd: POLAND

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


Witam

Zrobilem sobie prosty formularz z lista wyboru typu select, za pomoca ktorej bede dynamicznie wybieral typ sortowania bazy danych. Wyglada to mniej wiecej tak:

Kod
echo "<form method="POST" action=$PHP_SELF>";

echo  "<p><select size='1' name='sort'>";

echo  "  <option>nazwisko</option>";

echo  "  <option>imie</option>";

echo  "  <option>numer_gg</option>";

echo  "</select><input type='submit' value='OK' name='B1'></p>";

echo "</form>";

echo "Sortowanie po: " . $_POST[sort] . "<br>";

echo "<br><br>";


I wszystko fajnie dziala, ale gdy wchodze na strone, to aby zobaczyc jakikolwiek wynik z bazy, musze juz na wstepie wybrac opcje. Dlatego tez wpadlem na pomysl, aby defaultowo ustawic sortowanie po nazwisku, i tak napisalem:

Kod
$sortowanie = $_POST['sort'];



if ($sortowanie = ""){



$sort_b = "nazwisko";



} else {



$sort_b = $_POST['sort'];



}

No i nie dziala. Zastanawiam sie, czy w przypadku listy wyboru typu select "puste" definiuje sie jako "" w php. Co robie zle?
Go to the top of the page
+Quote Post
scanner
post 19.05.2003, 10:33:09
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Kod
echo  "  <option selected>nazwisko</option>";

Tak to chyba powinno być smile.gif

[php:1:90dcaf81e4]<?php
$sortb = (isset($_POST['sort'])) ? $_POST['sort'] : 'nazwisko';
?>[/php:1:90dcaf81e4]


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Marusz
post 19.05.2003, 19:47:33
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 16.05.2003
Skąd: POLAND

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


Dziala, dzieki wielkie. Poczytalem sobie w manualu o funkcji isset - przydatna powiem Ci winksmiley.jpg Generalnie tylko nie rozumiem jednego, napisales:

Cytat
$sortb = (isset($_POST['sort'])) ? $_POST['sort'] : 'nazwisko';


i moje pytanie brzmi, co robi znak zapytania w srodku tego calego wyrazenia? W manualu na stronie http://www.php.net/manual/pl/function.isset.php bylo wszystko w przykladach, ale w zadnym nie znalazlem znaku "?".
Go to the top of the page
+Quote Post
qbba
post 19.05.2003, 19:49:42
Post #4





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 25.10.2002
Skąd: z kabla:)/ czewa

Ostrzeżenie: (10%)
X----


jest to cos jak if tylko ze wyglada to tak:
warunek ? jesli_jest_true_to : jesli_false
Go to the top of the page
+Quote Post
spenalzo
post 19.05.2003, 19:55:13
Post #5





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Operator ten umożliwia skrócenie zapisu kodu, ale jednocześnie utrudnia jego późniejszą analizę.
Najprostszy przykład:
[php:1:9fe6a79149]<?php
$zm="2";
print($zm==2 ? "prawda" : "fałsz");
?>[/php:1:9fe6a79149]


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

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.06.2025 - 05:58