使用Ajax到MySQL将DIV数据保存到数据库中(使用PHP Mysqli)

时间:2015-06-20 09:50:45

标签: javascript php ajax mysqli

根据 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
}

0 个答案:

没有答案