私は(おそらく超簡単な)問題を抱えています。以下のコードは、getYourData.phpという外部ファイルに 'id'という変数を_POST(AJAXを使用)しています。変数を外部PHPファイルに渡す
私は以下の問題が考えられます。 'data'セクションは機能していないようです - 私は[data: '2']を置いて、単にSELECTステートメントに '2'を入れてみました。しかし、それは機能しません。
$.ajax({
type: 'POST',
url: 'getYourData.php',
data: 'id',
success: function(msg){
//everything echoed in your PHP-File will be in the 'msg' variable:
$('#selectTwo').html(msg)
$('#selectTwo').fadeIn(500);
}
});
ここでは、コードの残りの部分(スニペット - jqueryのがインポートされています)です
<!-- First Box: click on link shows up second box -->
<div id="selectOne" style="float: left; margin-right: 10px; border: #666 thin solid; padding: 10px;">
<a href="#" id="1">One</a><br />
<a href="#" id="2">Two</a><br />
<a href="#" id="3">Three</a>
</div>
<!-- Second Box: initially hidden with CSS "display: none;" -->
<div id="selectTwo" style="float: left; margin-right: 10px; display: none; border: #666 thin solid; padding: 10px;"></div>
<!-- The JavaScript (jQuery) -->
<script type="text/javascript">
//Do something when the DOM is ready:
$(document).ready(function() {
//When a link in div with id "selectOne" is clicked, do something:
$('#selectOne a').click(function() {
//Fade in second box:
$('#selectTwo').fadeIn(500);
//Get id from clicked link:
var id = $(this).attr('id');
$.ajax({
type: 'POST',
url: 'getYourData.php',
data: '2',
success: function(msg){
//everything echoed in your PHP-File will be in the 'msg' variable:
$('#selectTwo').html(msg)
$('#selectTwo').fadeIn(500);
}
});
//Depending on the id of the link, do something:
if (id == 'one') {
//Insert html into the second box which was faded in before:
$('#selectTwo').html('One<br />is<br />selected')
} else if (id == 'two') {
$('#selectTwo').html('Two<br />is<br />selected')
} else if (id == 'three') {
$('#selectTwo').html('Three<br />is<br />selected')
}
});
});
</script>
getYourData.php - プライマリページから渡された 'ID' に基づいてカスタムSELECT文を作成し、 。何らかの理由で、これは動作していません。私は意図的に不発弾の変数を設定した場合のみ動作します($ ID2)
<?php
$username="primary";
$password="testpass";
$database="testdb";
mysql_connect(localhost,$username,$password) or die ('Unable to connect...');
mysql_select_db($database) or die('Error: '.mysql_error());
//Intentionally creating a dud variable will create a good SELECT statement and work
$id2 = "3";
$id = $_POST['id'];
$query = mysql_query('SELECT * FROM members WHERE member_id='.$id);
$result = mysql_fetch_assoc($query);
//Now echo the results - they will be in the callback variable:
echo $result['firstname'].', '.$result['lastname'];
mysql_close();
?>
AJAX関数の 'data'は 'id = xxx'の形式である必要があります。それはタイプミスですか? –
@Andrew:しかし変数です...ユーザーがクリックするID(リンク)に応じて変わります。 xxxは何ですか? – Zakman411
@ Zakman441:あなたは変数 'id'にそれがあるのを見ています。 '' id = '+ id'を試してください。私は笑い知っていますか? –