d_01 Posted October 2, 2006 Report Share Posted October 2, 2006 Sveiki! Man ir maza problēma bez kuras nevaru tikt tālāk. Kā lai atlasa pēc parametriem MySQL datubāzē ar IF palīdzību? Lasīju mājaslapā manuālī, bet neko nesapratu.. :( Vajadzētu kaut ko līdzīgu šim: :::: IF (status='necel') THEN (dat_zvanit='$sodien') :::: un šo ielikt šeit aiz WHERE, bet nestrādā. Laikam sintakse nepareiza. :( $result = mysql_query("SELECT * FROM dati WHERE ???? ORDER BY iela,maja,korpus,dzivoklis") or die(mysql_error()); :::: paskaidrojums: status un dat_zvanit ir lauks mysql datu bāzes tabulā savukārt $sodien ir php date("Y-m-d"); Ja kāds saprata ko es vēlot, tad Palīdziet lūdzu! Pateicos jau iepriekš! Link to comment Share on other sites More sharing options...
Stopp Posted October 2, 2006 Report Share Posted October 2, 2006 nebūšu speciālists, bet, loģiski domājot, varbūt IF (status='necel') THEN SELECT * FROM dati WHERE dat_zvanit='$sodien' utt. Link to comment Share on other sites More sharing options...
slicer Posted October 2, 2006 Report Share Posted October 2, 2006 (edited) A tev vajag atlasīt tikai tos ierakstus, kam status='necel' vai vajag atlasīt visus un, ja status = 'necel', tad "zvanit" lauka vērtības vietā atgriezt šodienas datumu? Vispārīgi kaut kā tā: SELECT *, IF (status='necel', now(), zvanit) AS zvanit FROM dati IF strādā vienkārši: IF (<nosacījums>, <true part>, <false part>) Edited October 2, 2006 by slicer Link to comment Share on other sites More sharing options...
d_01 Posted October 5, 2006 Author Report Share Posted October 5, 2006 (edited) SELECT * FROM dati WHERE user='$logged_user' && IF (status='necel', dat_zvanit='$dat_sodien', ) Tā nesanāk. :( Tikldz IF ieliek aiz WHERE uzreiz met ārā sintax error, jo tur nedrīkstot lietot nekādas liekas iekavas ')' Ir domas 1) uztaisīt vēlvienu pieprasījumu (bet tas - nevēlami) un 2) ka varbūt var uztasiīt vienā SELECT vēl vienu SELECT. (nezinu kā lai pareizi uzraksta kā arī kā tas saucās mysql valodā) Mēģināšu vēlreiz formulēt jaut. Vaig no tabulas 'dati' atlasīt visus parametrus ar user un ja kādā laukā ir stasus='necel' tad atlasīt tikai to kur datums='$sodien'. (mēģiniet neizprast šo lauku būtību, jo tie ir bik savādāki. Vaig atlasīt no atlasītajiem un es nezinu kā lai to izdara varbūt tādas problēmas risināšanai nemaz nevaig lietot IF) Paldies par atsauksmi! Edited October 5, 2006 by d_01 Link to comment Share on other sites More sharing options...
bubu Posted October 5, 2006 Report Share Posted October 5, 2006 SELECT user FROM dati WHERE status!='necel' OR status=='necel' AND datums='$sodien' Link to comment Share on other sites More sharing options...
Delfins Posted October 5, 2006 Report Share Posted October 5, 2006 (edited) AND (status != 'necel' OR (status='necel' and dat_zvanot = '$sodien')) PS: labi, lai ir caur mainīgo :) Edited October 5, 2006 by Delfins Link to comment Share on other sites More sharing options...
d_01 Posted October 5, 2006 Author Report Share Posted October 5, 2006 SUPER!!!! PALDIES! Izrādās ka nebiju iedomājies par operatoru "OR". (/nu jopcik/) Paldies! Link to comment Share on other sites More sharing options...
Recommended Posts