Tema: Re: rodyti visus irasus
Autorius: dnt
Data: 2009-11-05 13:17:35
Almis wrote:
> Èia ir yra problema kadangi niekaip nesugalvoju kaip á stulpelá áterpti
> "visi",o pasirinkimø formoje yra daug variantø pvz:
> salis nurodyta "visi",kaina ne "visi", aerouostas ne "visi", maitinimas ne
> "visi", toliau salis nurodyta "visi",kaina nurodyta "visi", aerouostas ne
> "visi", maitinimas ne "visi" ir t.t. Pridedu lentelæ gal tai padës aiðkiau
> suprasti mano problemëlæ.
> Dëkoju Almis.
> 
> "gopas" <netikras@jamailas.lt> wrote in message 
> news:hct4jb$8df$1@trimpas.omnitel.net...
>> o pas tave isvis yra bent vienas irasas duombazej kur butu bent vienas 
>> stulpelis su reiksme "visi"?
>> tau reikia formuot uzklausa, pagal tai ar pasirinktas kazkur "visi". jeigu 
>> pasirinktas, tai tiesiog
>> nevykdyk uzklausos su tuo parametru.
>>
>> sakykim pasirenki "salis" - "visi", tai vykdai uzklausa
>>
>> "SELECT * FROM poilsis WHERE kaina<='$k' AND aerouostas='$a' AND 
>> maitinimas='$m' ";
>>
>> tikiuosi teisingai supratau ko klausi ir teisingai atsakiau.
>>
>>
>> "Almis" <internet622@gmail.com> wrote in message 
>> news:hcrv9n$j3u$1@trimpas.omnitel.net...
>>> Sveiki, yra forma.
>>>
>>> Veikia, taciau nesuprantu kaip padaryti kad veiktu pasirinkus bent 
>>> vienoje
>>> formos pozicijoje "visi" ?
>>> Aciu uz patarimus.
>>>
>>> pati forma:
>>>
>>> <head>
>>> <title>Teksto laukas</title>
>>> </head>
>>>
>>> <body>
>>> <center>
>>> <h2>Sara&scaron;ai</h2>
>>> <form action="uzklausos rezult33.php" method="get">
>>> I&scaron;sirinkite &scaron;al&#303;:
>>> <br>
>>> <br>
>>> <select name="salis" id="salis" >
>>> <option value="visi">Visi</option>
>>> <option value="Egiptas">Egiptas</option>
>>> <option value="Marokas">Marokas</option>
>>> <option value="Turkija">Turkija</option>
>>> </select>
>>> <br>
>>> <br>
>>> I&scaron;sirinkite kaina
>>> <br>
>>> <br>
>>> <select name="kaina" id="kaina" >
>>> <option value="visi">Visi</option>
>>> <option value="1500">iki 1500</option>
>>> <option value="2000">iki 2000</option>
>>> <option value="2500">iki 2500</option>
>>> <option value="3000">iki 3000</option>
>>>
>>> </select>
>>> <br>
>>> <br>
>>> I&scaron;sirinkite aerouost&#261;
>>> <br>
>>> <br>
>>> <select name="aerouostas" id="aerouostas" >
>>> <option value="visi">Visi</option>
>>> <option value="Vilnius">Vilnius</option>
>>> <option value="Varsuva">Var&scaron;uva</option>
>>>
>>> </select>
>>> <br>
>>> <br>
>>> I&scaron;sirinkite maitinim&#261;
>>> <br>
>>> <br>
>>> <select name="maitinimas" id="maitinimas" >
>>> <option value="visi">Visi</option>
>>> <option value="HB">HB</option>
>>> <option value="ALL">ALL</option>
>>>
>>>
>>>
>>> </select>
>>> <br>
>>> <br>
>>> <input type= "submit" value="OK" >
>>> </form>
>>> </center>
>>> </body>
>>> </html>
>>>
>>> ir php skriptas:
>>>
>>> ?php
>>> // Make a MySQL Connection
>>> mysql_connect("localhost", "***") or die(mysql_error());
>>> mysql_select_db("******") or die(mysql_error());
>>> $s = $_GET ["salis"];
>>> $k = $_GET ["kaina"];
>>> $a = $_GET ["aerouostas"];
>>> $m = $_GET ["maitinimas"];
>>>
>>> $query = "SELECT * FROM poilsis WHERE salis='$s'AND kaina<='$k'AND
>>> aerouostas='$a'AND maitinimas='$m' ";
>>>
>>> // Get all the data from the "example" table
>>> $result = mysql_query($query)
>>> or die(mysql_error());
>>>
>>> echo "<table border='1'>";
>>> echo "<tr> <th>&Scaron;alis</th> <th>Kaina</th> <th>Aerouostas</th>
>>> <th>Maitinimas</th></tr>";
>>> // keeps getting the next row until there are no more to get
>>> while($row = mysql_fetch_array( $result )) {
>>> // Print out the contents of each row into a table
>>> echo "<tr><td>";
>>> echo $row['salis'];
>>> echo "</td><td>";
>>> echo $row['kaina'];
>>> echo "</td><td>";
>>> echo $row['aerouostas'];
>>> echo "</td><td>";
>>> echo $row['maitinimas'];
>>> echo "</td></tr>";
>>> }
>>>
>>> echo "</table>";
>>> ?>
>>>
>>>
>>>
>>>
> 
> 
Na tai galvok, kaip konstruoti savo užklausą. Jeigu pasirenkamas 
variantas "visi", reiškia tą parametrą tu ignoruoji.
Pavyzdys gali būti toks:

$s = $_GET ["salis"];
$k = $_GET ["kaina"];
$a = $_GET ["aerouostas"];
$m = $_GET ["maitinimas"];

$where = ' 1 ';

if($s != 'visi')
	$where .= " AND salis='$s'";
if($k != 'visi')
	$where .= " AND kaina='$k'";
....

$query = "SELECT * FROM poilsis WHERE ".$where;