關於發送PHP數組到javascript函數的小問題,我做了家庭作業,無處不在,我知道它不可靠,但在這一刻我不知道任何其他方式,所以嘗試只是告訴我如何完成它。發送php數組到javascript函數onclick
我得到的PHP代碼首先執行,想法是在頁面加載我從MySQL獲取一些數據,我填充了從該選擇語句ID的PHP數組。
<?php
include('config.php');
$TicketExist = "select BetSlipID,probatip1.betslips.MatchID as GameID,
TipID,tim1.Name AS HomeTeam ,tim2.Name AS AwayTeam, UserID
from probatip1.betslips
inner join probatip1.matches matches on probatip1.betslips.MatchID = matches.MatchID
inner join probatip1.teams tim1 on matches.HomeTeamID = tim1.TeamID
inner join probatip1.teams tim2 on matches.AwayTeamID = tim2.TeamID
where UserID = 1";
$TicketResult = mysql_query($TicketExist);
$TicketNum = mysql_numrows($TicketResult);
mysql_close();
if($TicketNum != 0)
{
$s=0;
while($s < $TicketNum)
{
$GameID = mysql_result($TicketResult,$s,"GameID");
$TipID = mysql_result($TicketResult,$s,"TipID");
$ArrayIDs[$s] = $GameID;
echo "<script>window.onload=GetInfo($GameID,$TipID); </script>";
$s++;
}
}
?>
,所以我得到的一切我想要填充我的網頁上寫道,現在的想法是在用戶點擊後,調用JavaScript來利用這個「$ ArrayIDs」,並從腳本執行代碼
這裏是代碼IM調用腳本
<ul>
<li
id="ConfirmButton" name="Insert" method="post"
onclick="GetAllIDs(<?php $ArrayIDs ?>)"><a>POTVRDI</a></li>
</ul>
我的腳本代碼
function GetAllIDs(Ticket) {
$("td.ID").each(function() {
var MatchID = $(this).attr('id');
var lab = "Label";
var Label = lab + MatchID;
var Final = document.getElementById(Label);
var TipID;
if (Final.innerHTML == '1') {
TipID = 1;
}
else if (Final.innerHTML == 'X') {
TipID = 2;
}
else if (Final.innerHTML == '2') {
TipID = 3;
}
else {
return;
}
var request_type;
var browser = navigator.appName;
if (browser == "Microsoft Internet Explorer") {
request_type = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
request_type = new XMLHttpRequest();
}
var http = request_type;
var AlreadyPlayed = false;
if (Ticket != null) {
var TicketExists = Ticket;
for (var i = 0; i < TicketExists.length; i++) {
if (TicketExists[i] == MatchID) {
AlreadyPlayed = true;
break;
}
}
}
if (http != null) {
if (AlreadyPlayed == true) {
http.open('get', 'update.php?MatchID=' + MatchID +
'&TipID=' + TipID + '&UserID=' + 1, true);
}
else {
http.open('get', 'insert.php?MatchID=' + MatchID +
'&TipID=' + TipID + '&UserID=' + 1, true);
}
http.send(null);
}
});
if (Ticket == null) {
alert('Tiket je napravljen');
}
else {
alert('Tiket je promenjen');
}
}
有了這個貼ç ö當我用mozzila中的螢火蟲調試代碼時,我得知我的'Ticket'參數假設爲'$ ArrayIDs'未定義。
爲什麼我想製作數組並將其發送到javascript onclick事件的原因是檢查用戶是否已對某些遊戲下注,如果他確實要發送所有數據以進行更新,並且他尚未下注在某些遊戲中發送數據插入數據庫。 所以我需要數組,並在任何事情之前檢查MatchID與我的數組中的所有ID,所以我知道該怎麼做。
感謝所有提前幫忙
您需要使用JSON從PHP傳遞數組的JavaScript – Tarun
而且是使用mysqli_或PDO,而不是mysql_ – Tarun