2013-02-27 185 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