我将以下文件中的一些代码更改为JS,并进行了AJAX调用以使动画更容易。但是,由于我将部分PHP移动到另一个文件并进行了AJAX调用,因此我的第二个查询出现问题。
我要做的是显示用户名。然后,一旦单击按钮,它就会对这些用户名进行洗牌并显示它们。一切正常。
我的第二个查询的作用是获取该信息并将其发送到不同的数据库表。这是失败的,我收到以下错误:
注意:未定义的索引:位于第235行的/home4/pfarley1/public_html/sundayfundayleague.com/userCreator.php中的ID
警告:第235行/home4/gddgg/public_html/example.com/userCreator.php中为foreach()提供的参数无效
LINE 235:
foreach ($_POST['id'] as $i => $shuffle_id) {
警告:mysqli_fetch_assoc()要求参数1为mysqli_result,第245行/home4/gfdgd/public_html/example.com/userCreator.php中给出布尔值
LINE 245
$order_row = mysqli_fetch_assoc($stmt);
$con = mysqli_connect("localhost", "", "", "");
$query = mysqli_query($con, "SELECT * FROM users WHERE `group` = 3");
echo 'Users to be given draft order: <br>';
$array = array();
while ($row = mysqli_fetch_assoc($query)) {
$array[] = $row;
echo $row['firstname'] . ' ' . $row['lastname'] . '<br>';
}
?>
<form method="POST" name="form">
<input type="submit" value="Create Draft Order" name="shuffle">
</form>
Shuffled results: <br>
<div class="shuffle_results" id="results"></div>
<img id='paperBag' src="http://www.thecuriouscaterpillar.co.uk/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/b/a/bag_to_white.jpg" width="200px" />
<form method="post">
<input type="submit" value="Finalize Draft Order" name="insert">
</form>
<?php
if (isset($_POST['insert'])) {
$con = mysqli_connect("localhost", "", "", "");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$stmt2 = $con->prepare("INSERT INTO user_players (user_id, firstname, lastname, username, email) VALUES (?, ?, ?, ?, ?)");
if ( false===$stmt2 ) {
// Check Errors for prepare
die('Add to user players prepare() failed: ' . htmlspecialchars($con->error));
}
$stmt2->bind_param('issss', $shuffle_id, $shuffle_firstname, $shuffle_lastname, $shuffle_username, $shuffle_email);
foreach ($_POST['id'] as $i => $shuffle_id) {
$shuffle_firstname = $_POST['firstname'][$i];
$shuffle_lastname = $_POST['lastname'][$i];
$shuffle_username = $_POST['username'][$i];
$shuffle_email = $_POST['email'][$i];
$stmt2->execute() or
die('Add to user players execute() failed: ' . htmlspecialchars($stmt2->error));
}
JS从我的php文件中获取Shuffle结果
$('#results').append('<div class="result">' +
'<div class="shuffle_results">' + data[i].firstname + ' ' + data[i].lastname + '</div>' +
'<input type="hidden" name="firstname[]" value="' + data[i].firstname + '">' +
'<input type="hidden" name="lastname[]" value="' + data[i].lastname + '">' +
'<input type="hidden" name="id[]" value="' + data[i].id + '">' +
'<input type="hidden" name="username[]" value="' + data[i].username + '">' +
'<input type="hidden" name="email[]" value="' + data[i].email + '">' +
'</div>');
var $this = $('.shuffle_results:last');
$this.show().animate({
'left': 0 + 'px',
'bottom': + '0px'
//$(document).height() - (lineheight * data.length)
}, {
duration: time
});
i++;
} else {
clearInterval(interval);
}
}, 3000);
};
$(function(){
$('form[name="form"]').on('submit', function(e){
e.preventDefault();
$.post('shuffle_results.php', function(data){
var o = $.parseJSON(data);
displayResults(o);
});
});
PHP文件
$con = mysqli_connect("localhost", "", "", "");
$query = mysqli_query($con, "SELECT * FROM users WHERE `group` = 3");
$array = array();
while ($row = mysqli_fetch_assoc($query)) {
$array[] = array(
'firstname' => $row['firstname'],
'lastname' => $row['lastname'],
'id' => $row['id'],
'username' => $row['username'],
'email' => $row['email']
);
if (isset($_POST['shuffle'])) {
}
}
shuffle($array);
echo json_encode($array);
有没有人知道为什么这会失败,因为我将php代码移动到另一个文件并且现在正在进行AJAX调用?
我怎样才能获得这些变量..它们和以前一样?我只是动了一下。