Jump to content
php.lv forumi

kā atlasīt mysql ar if() ?


d_01

Recommended Posts

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

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 by slicer
Link to comment
Share on other sites

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 by d_01
Link to comment
Share on other sites

×
×
  • Create New...