Uldeens Posted June 3, 2006 Report Share Posted June 3, 2006 (edited) Kadi komentari par shadu mainigo parbaudes veidu ? Varbut ieteikumi kaa labak darit? Ir forma ar trim mainigajiem kas ir atlases kriteriji sql kverijam. 'a 'b' un 'c' . Tos parbauda funkcija. function check($a,$b,$c) { if(empty($a) && empty($b) && empty($c)) { $query="all"; } elseif(empty($a) && empty($b)) { $query="c"; } elseif(empty($c) && empty($b)) { $query="a" } return $query; } un index fails : <? require("functions.php"); $sql=check($a,$b,$c); switch($sql) { case 'all' : $query=mysql_query("SELECT id FROM table"); case 'c' : $query=mysql_query("SELECT id FROM table WHERE mainigais='c' "); default : ....... } Edited June 4, 2006 by Uldeens Link to comment Share on other sites More sharing options...
litt Posted June 4, 2006 Report Share Posted June 4, 2006 (edited) Baigi garš kods sanāk un ko darīsi, ja pēkšņi vēl 5 mainīgie nāks klāt? Ciklā ej cauri savai mainīgo listei, attiecīgi tos apstrādā un pēc tam kabini vienu pie otra apmēram tādā formā (te, protams, arī ir varianti) ' AND lauks = ' . $mainigais. Rezultātā iegūsi apmēram tādu stringu AND lauks1 = 1 AND lauks2 = 2 Beigās atliks uzrakstīt tikai 1 kveriju: select * from tabula where 1 = 1 $iegūtais strings Risinājuma variantu var uzlabot, bet idejiski es darīt tā Edited June 4, 2006 by litt Link to comment Share on other sites More sharing options...
v3rb0 Posted June 4, 2006 Report Share Posted June 4, 2006 kaut kā samocīti izskatās. padomā, varbūt tavā gadījumā der šitāda konstrukcija foreach(array('a','b','c') as $variable) { if(isset($$variable) && !empty($$variable)) { echo $variable .'='.$$variable.'; '; } else { echo $variable . ' nav'; } } šādai pārbaudei ir ļoti viegli pielikt/izmest citus mainīgos, kas ir labi,ja vēlāk vajadzēs kaut ko refacturēt. Link to comment Share on other sites More sharing options...
Recommended Posts