根据 StudentRegID,StudCourse,StudentSection (从另一个表中进行Droupdown)获取数据,如下所示我想要的是将获取的数据发送到数据库使用ajax和PHP 在提交按钮上单击数据是单选按钮选择的值以及关联的学生姓名和三个选定的下拉值。
DATABSE1
SchoolID StudentRegID StudentFirstName StudCourse StudentSection
FT001 12KQC31085 ABC BCOM A
FT001 12KQC31086 DEF BCOM A
FT001 12KQC31087 GHI BCOM A
FT001 12KQC31088 JKL BCOM A
数据库中的数据
<div id="mySpan4"> </div>
PHP:
$mysqli=mysqli_connect('localhost','root','root','DB');
$standard1 = mysqli_real_escape_string($mysqli,trim($_POST["tclass"]));
$section1 = mysqli_real_escape_string($mysqli,trim($_POST["tsection"]));
$SchoolID1 = mysqli_real_escape_string($mysqli,trim($_POST["tschoolid"]));
$query3="SELECT * FROM euser_student WHERE StudCourse='$standard1' and SchoolID='$SchoolID1'and StudentSection='$section1' order by StudentFirstName ASC";
$res3=mysqli_query($mysqli, $query3);
echo '<table border="1">';
for($i=0; $row=mysqli_fetch_assoc($res3); $i++) {
$dat3 = $row['StudentFirstName'];
// data to ajax to display data in a div
// we put the student's name in a hidden input
echo "<tr>
<td>" . $dat3 . " <input type='hidden' name='student[" . $i . "]' value='" . $dat3 . "'></td>
<td><input name='present[" . $i . "]' type='radio' value='Present'>Present</td>
<td><input name='present[" . $i . "]' type='radio' value='Absent'>Absent</td>
<td><input name='present[" . $i . "]' type='radio' value='Leave'>Leave</td>
</tr>";
}
echo '</table>';
?>
使用Javascript:
function activity3() {
$('#subjects').change(function () {
var selection = this.value; //grab the value selected
if ( selection=='0')
{
alert("Select Any subject");
}
else
{
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'http://localhost:9999/attendence-php/fetch_student.php';
var pmeters = "tschoolid=" + encodeURI( localStorage.getItem("txtPassword1"))+
"&tclass=" + encodeURI(document.getElementById("datatosend").innerHTML)+
"&tsection=" + encodeURI(document.getElementById("datatosend1").innerHTML);
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
$('#img').show(); //<----here
}
if(HttPRequest.readyState == 4) // Return Request
{
var retVal = HttPRequest.responseText;
document.getElementById("mySpan4").innerHTML = retVal + '<input type="submit">';
}
}
}
});
}
现在我试图发送所选的单选按钮值和名称(不工作)
ON提交要发送到数据库的数据
$(document).ready(function() {
$('#mySpan4').submit(function(e) {
e.preventDefault();
$.ajax({
url: 'http://localhost:9999/attendence-php/ajax2.php',
data: $(this).serialize(), // reads the data ...
success: function(data) {
$('#message').html(data);
}
});
});
});
ajax2 PHP:使用这个PHP进行测试。稍后会更改相关的表和字段名称
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "DB";
$conn = new mysqli($servername, $username, $password, $dbname);
// $_GET['present'] and $_GET['student'] are arrays.
$sql = "INSERT INTO wsmessages (name,msg) VALUES ";
foreach($_GET['student'] as $i=>$student) {
$sql .= sprintf("%s ('%s', '%s')"
, ($i==0 ? '' : ',') // this puts a comma between the rows (it skips the first comma)
, mysqli_real_escape_string($conn, trim($_GET['student'][$i]))
, mysqli_real_escape_string($conn, trim($_GET['present'][$i]))
);
}
echo $sql;
if ($conn->query($sql)) {
// success
}