2013-02-27 187 views
0

我需要将“seatid”添加到mysql DB中......“seatid”变量在另一个函数中被检索到...换句话说,我需要向mysql中添加一个变量,一个形式,但发现在另一个函数将变量添加到MYSQL

$("#reserveid").click(function() 
{ 
    addSeat(); 

}); 

function addSeat() 
{ 
var t_name = $("#btnShowNew ['seatid']").val(); //btnShowNew is the id of the form that output the seatid variable 
var errors = ''; 

$.ajax({ 
    type : "POST", 
    url  : "INSERT.php", 
    data : { seatid : t_name, 
     }, 
    cache : false, timeout: 10000, 

    success : function() { 
     alert("WORKED!"); 
    }, 
    error : function() { 
     alert("DIDN'T WORK!"); 
    }, 
    complete : function() { 
    } 
}); 
} 

php文件:

<?php 

$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="test"; // Database name 
$tbl_name="seat"; // Table name 

// Connect to server and select databse. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$seatid = mysql_real_escape_string($_POST['seatid']); 
$error = ''; 

$query = "INSERT INTO seat (seatNo) VALUES ('{$seatid}')"; 

if (!mysql_query($query, $conn)) 
{ 
$error = mysql_error(); 
$return['error'] = $error; 
echo json_encode($return); 
mysql_close($conn); 
} 
else 
{ 
$success = "Seat Successfully Added!"; 
$return['mysql'] = $success; 
echo json_encode($return); 
mysql_close($conn); 
} 

>

+0

还等什么不对这个函数的例子吗?你有什么错误? – tchap 2013-02-27 17:29:37

+0

你有没有检查你是否进入php文件?留在PHP只有回声(忘记所有的其他和连接) – kilkadg 2013-02-27 17:33:35

+0

当我点击按钮什么都没有发生:/ – ouzoumzak 2013-02-27 17:34:18

回答

2

有些浏览器不明白这

data : { 
    seatid : t_name, 
}, 

尝试

data : { 
    seatid : t_name 
}, 

删除多余的逗号。

使用PHP就这样

<?php 

$return['error'] = $error; 
echo json_encode($return); 

?> 

而且在JS写这篇文章,看看你会得到什么。

complete : function(data) { 
    alert('complete'); 
} 
+0

仍然没有... – ouzoumzak 2013-02-27 17:35:53

+0

你检查你是否正在进入php文件? – kilkadg 2013-02-27 17:36:54

+0

你是什么意思?你可以在var t_name = $(“#btnShowNew ['seatid']”)后解释plz – ouzoumzak 2013-02-27 17:38:07

0

也许你有jQuery的一个问题,希望这个作品

$(document).ready(function() { 
      $("#reserveid").click(function(){ 

       alert('CLICK'); //here you have to be able to see the alert if not maybe the jquery is not working properly 
       var t_name = $("#btnShowNew ['seatid']").val(); //Not sure if you are taking a value 
       alert(t_name); //here you have to be able to see the value that you are catching 
       $.ajax({ 
      url:'insert.php', 
      type:'POST', 
      dataType:'json', //since you are echo json_encode($return) 
      data:{ 
       'seatid':t_name //use ' just in case 
      }, 
      success:function (result) { 
          if(result.error){ 
           alert(result.error); // .error because it is the key of the array you are giving back 
           return; 
          } 
         } 
     }); 
    }); 
}); 
+0

谢谢你的努力,我很欣赏,但这是行不通的。 ..我不知道为什么...我真的需要帮助,因为我做我的大学第一个项目...如果你想我可以复制粘贴为你我的页面的整个代码..我知道这是否会帮助 – ouzoumzak 2013-02-28 18:27:40

+0

请做,我会尽力帮忙。 – kilkadg 2013-02-28 19:12:31

+0

亲爱的@kilkadg,我在这里写下了代码 – ouzoumzak 2013-03-01 17:36:47

0
<html> 
<head> 
<title>Seat Reservation </title> 
<script src="js/jquery.js" type="text/javascript"></script> 
</head> 
<body> 
<form id="form111" > 
<script type="text/javascript" 
    src="js/jquery.js"> 
</script> 
    <div id="screen"><p class= "pos_fixed">S C R E E N</p></div> 

    <div id="holder"> 
    <ul id="place"> 
    </ul>  
</div> 
<div style="width:600px;text-align:center;overflow:auto"> 
<ul id="seatDescription"> 
<li style="background:url('images/available_seat_img.gif') no-repeat scroll 0 0  transparent;">Available Seat</li> 
<li style="background:url('images/booked_seat_img.gif') no-repeat scroll 0 0 transparent;">Booked Seat</li> 
<li style="background:url('images/selected_seat_img.gif') no-repeat scroll 0 0 transparent;">Selected Seat</li> 
</ul>  </div> 
<div style="width:580px;text-align:left;margin:5px"> 
    <input type="button" id="btnShowNew" value="Show Selected Seats" name="btnShowNew" /><input type="button" id="btnShow" value="Show All" /> </form> 
<table width="300" border="0" > 
<tr> 
<form name="form1" method="post" action="login.html"> 
<td> 
<table width="100%" border="0" > 
<tr> 
<td width="294"><input type="submit" name="Submit" value="Logout"></td> 
</tr> 
</form> 



<form method="post" id="reserveid"> 
<td> 
<table width="100%" border="0" > 
<tr> 
<td width="294"><input type="button" value="reserve""></td> 
</tr> 
</form> 



<form id="cvvform" method="post" action="checkcvv.php"> 
<td> 
<table width="100%" border="0" > 
<tr> 
<td width="294"><input type="submit" name="cvvchecking" value="cvvchecking"   id="cvvchecking"></td> 
</tr> 
<tr> 
<td>CVV<input type="text" maxlength="4" id="cvvchecking" name="cvvchecking" /></td> 
<td>USERNAME<input type="text" id="username" name="username" /></td> 
</tr> 
</form> 



    <script type="text/javascript"> 
    $(function() { 
     var settings = { 
      rows: 5, 
      cols: 15, 
      rowCssPrefix: 'row-', 
      colCssPrefix: 'col-', 
      seatWidth: 35, 
      seatHeight: 35, 
      seatCss: 'seat', 
      selectedSeatCss: 'selectedSeat', 
      selectingSeatCss: 'selectingSeat' 
     }; 

     var init = function (reservedSeat) { 
      var str = [], seatNo, className; 
      for (i = 0; i < settings.rows; i++) { 
       for (j = 0; j < settings.cols; j++) { 
        seatNo = (i + j * settings.rows + 1); 
        className = settings.seatCss + ' ' + settings.rowCssPrefix + i.toString() + ' ' + settings.colCssPrefix + j.toString(); 
        if ($.isArray(reservedSeat) && $.inArray(seatNo, reservedSeat) != -1) { 
         className += ' ' + settings.selectedSeatCss; 
        } 
        str.push('<li class="' + className + '"' + 
           'style="top:' + (i * settings.seatHeight).toString() + 'px;left:' + (j * settings.seatWidth).toString() + 'px">' + 
           '<a title="' + seatNo + '">' + seatNo + '</a>' + 
           '</li>'); 
       } 
      } 
      $('#place').html(str.join('')); 
     }; 

     //case I: Show from starting 
     init(); 

     //Case II: If already booked 
     var bookedSeats = []; 
     init(bookedSeats); 


     $('.' + settings.seatCss).click(function() { 
     if ($(this).hasClass(settings.selectedSeatCss)){ 
      alert('This seat is already reserved'); 
     } 
     else{ 
      $(this).toggleClass(settings.selectingSeatCss); 
      } 
     }); 

     $('#btnShow').click(function() { 
      var str = []; 
      $.each($('#place li.' + settings.selectedSeatCss + ' a, #place li.'+ settings.selectingSeatCss + ' a'), function (index, value) { 
       str.push($(this).attr('title')); 
      }); 
      alert(str.join(',')); 
     }) 

     $('#btnShowNew').click(function() { 
      var str = [], seatid; 
      $.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) { 
       seatid = $(this).attr('title');     
       str.push(seatid);     
      }); 
      alert(str.join(' , ')); 
     }) 

}) 

</script> 

所有这些代码是工作的罚款......在 “btnShowNew” 输出席位ID点击由用户...现在我需要做一个按钮“保留”,当用户点击它的形式btnShowNew里面的seatid的值将被添加到数据库

0

对不起,你的代码不整洁,看不到你需要的部分。但是有一些想法,我可以给你,这取决于你解决你的问题或者让代码变得清晰(只是你需要的部分)。

您知道表单将数据从一个页面发送到另一个页面(使用POST或GET方法),因此当您按下提交按钮时,将所有输入发送到表单操作。 你可以看到在这个page

之后,你必须将数据保存到数据库就像here