2014-01-20 6 views
0

В раскрывающемся списке, у меня есть некоторые значения, такие как Due today, Due Tomorrow, This Year, This Month. Когда пользователь выберет любую опцию из раскрывающегося списка. Я хочу получить данные из таблицы в соответствии с опцией. если я выберет сегодня, то должна быть показана только сегодняшняя дата. если я выбираю этот месяц, должна отображаться только месячная запись. Я не могу представить, как я могу преобразовать строку в дату. и сравнить с базой данных. Защиту а(): МоделиСравните дату базы данных с пользовательским вводом

db.define_table('Birthday', 
    Field('Name',label='name'), 
    Field('assignment','text'), 
    Field('bdate','date') 

Посмотреть

function showcnf() 
{ 
var x=document.forms["cnf"]["sub"].value; 
if (x==null || x=="") 
    { 
    alert("Please select the value "); 
    return false; 
    } 

</script> 


<form name="cnf" action="{{=URL('default','subquery')}}" method="post" onsubmit="return showcnf()" > 
<select name="sub"> 
    <option value="Due Today">Due Today</option> 
    <option value="Due Tommarow">Due Tomorrow</option> 
    <option value="Due This Month">Due This Month</option> 
    <option value="Due This Month">Due This Month</option> 


</select> 
<input type="submit" value="Submit"> 
</form> 
{{=grid}} 

В контроллере я использовал 2 функции. Сначала для ввода ввода и второго, который я пытаюсь сравнить. но я не могу это сделать. Я не знаю, как это сделать. я пошел кидать по следующей ссылке

http://pleac.sourceforge.net/pleac_python/datesandtimes.html

я не нашел некоторые вещи для меня.

Контроллер

def abc(): 

    subject=request.vars.sub 
    if subject == 'Due Today': 
     redirect(URL(r=request,f='jmd')) 

    if subject == 'Due Tommarow': 
     redirect(URL(c='default',f='jmd')) 
    if subject == 'Due This Month': 
     redirect(URL(c='default',f='jmd')) 


    response.flash = T("its working !") 

    return dict() 




def jmd(): 
    table=SQLFORM.grid(db.Birthday,create=False,deletable=False,editable=False,csv=False) 
    response.flash = T("done") 
    return dict(grid=table) 

может любой может помочь мне в этом Благодаря Рохит Raj Sharma

ответ

0

вам не нужны две функции

def abc(): 

subject=request.vars.sub 
if subject == 'Due Today': 
    queries = (db.Birthday==datetime.date.today()) 

if subject == 'Due Tommarow': 
    queries = ... 
if subject == 'Due This Month': 
    queries = ... 


response.flash = T("its working !") 
table=SQLFORM.grid(queries,create=False,deletable=False,editable=False,csv=False) 

return dict() 
Смежные вопросы