2013-05-29 60 views
0

如何將其轉換爲SWI-Prolog?我沒有在互聯網上找到如何在prolog中編寫select,並且可以告訴我如何讓php代碼在?SWI-Prolog中的HTML選擇標記

<select id="data_nastere_zi" name="data_nastere_zi">     
    <option value="ZZ">ZZ</option> 
    <?php for($i = 1; $i < 32; $i++){ ?> 
     <option <?php print ($data[0][2]==$i)?'selected':''; ?> 
     value="<?php echo $i;?>"> 
     <?php echo $i; ?> </option> 
     <?php 
     } 
     ?> 

</select> 

回答

0

似乎工作預期的方式:

?- phrase(html(select([id(data_nastere_zi)], 
         [option(greetings), 
         option([selected],pythagoras)])), X), 
    print_html(X). 

產地:

<select id="data_nastere_zi"> 
<option>greetings</option> 
<option selected>pythagoras</option> 
</select> 

你可以用整齊的模塊化技術來生成所需的選項:

my_options(0) --> []. 
my_options(N) --> html(option(N)), { succ(N0, N) }, my_options(N0). 

然後在t他查詢,使用\指代規則:

?- phrase(html(select([id(data_nastere_zi)], 
         [option(greetings), 
         \my_options(4)   % <-- note the \ 
         ])), X), 
    print_html(X). 

產地:

<select id="data_nastere_zi"> 
<option>greetings</option> 
<option>4</option> 
<option>3</option> 
<option>2</option> 
<option>1</option> 
</select> 

您將需要增加一些這方面的信息,關於哪一個你希望成爲選擇之一,但它贏得了」不難。