【发布时间】:2016-08-14 22:39:59
【问题描述】:
我正在尝试从数据库中获取一些数据。我创建了一个位于functions.php 文件中的函数,它返回一个值。在另一个页面上,我创建了一个变量并获取该值。我试图使用onkey 来检查数据库,但后来我意识到即使他们没有输入任何内容,我也需要知道票的数量。
函数如下:
function.php
function is_ticket_able($conn){
$query = "select number_of_tickets from [dbo].[TICKETS] " ;
$stmt = sqlsrv_query($conn, $query);
while ($row = sqlsrv_fetch_array($stmt)) {
$amount_of_tickets = $row['number_of_tickets'];
}
return $amount_of_tickets;
}
而且,我正在尝试检查数据库(不刷新页面)并获取此页面上的值:
application.php
$amount_of_tickets = is_ticket_able($conn);
然后,我只是检查$amount_of_tickets 不是 0 或 1。因为如果是 1,那么有些东西必须改变。
我正在这样做(在 application.php 中):
if($amount_of_tickets !=0){
//show the form and let them apply for tickets.
//also
if($amount_of_tickets == 1){
//just let them apply for one ticket.
}
}
编辑:我看到 AJAX 将是正确的使用,但我很困惑使用它。
更新:
function.php
function is_ticket_able($conn){
$query = "select number_of_tickets from [dbo].[TICKETS_LKUP] " ;
$stmt = sqlsrv_query($conn, $query);
while ($row = sqlsrv_fetch_array($stmt)) {
$ticket = $row['number_of_tickets'];
}
return $ticket;
}
application.php
$amount_of_tickets = is_ticket_able($conn);
<script type="text/javascript">
var global_isTicketAble = 0;
checkTicket();
function checkTicket()
{
$.ajax(
{
url: "application.php",
method: 'GET',
dataType: 'text',
async: true,
success: function( text )
{
global_isTicketAble = text;
alert(global_isTicketAble);
if( global_isTicketAble == 0 ){
window.location.replace("http://www.google.com");
}
setTimeout( checkTicket, 5000 ); // check every 5 sec
}
});
}
</script>
所以,现在的问题是,当我alert(global_isTicketAble); 时,它不会提醒数据库中的值,但它会提醒 application.php 中的所有内容...帮助 plzzz
【问题讨论】:
标签: javascript jquery sql-server ajax sql-server-2012