php
  • ajax
  • multiple-insert
  • 2013-01-11 41 views 0 likes 
    0

    嗨,大家好,我在使用PHP和Ajax將我的值插入到MySQL中時遇到了麻煩。我試圖用多個輸入單按鈕插入MySQL。在Ajax中插入多個MySQL

    JS:

    $('#save_grade_button').click(function(){ 
    
    
           var B_grade = []; 
           var G_grade = []; 
    
    
           $.each($("input[id^='student_grde_B']"), function(i, item) { 
    
           var grade_B = $(item).val(); 
    
           var stud_id_B = $(item).attr('rel'); 
    
           B_grade.push({"studnt_B_id":stud_id_B,"studnt_grade_B":grade_B}); 
    
            }); 
    
            $.each($("input[id^='student_grde_G']"), function(i, item) { 
    
             var grade_G = $(item).val(); 
    
             var stud_id_G = $(item).attr('rel'); 
    
             G_grade.push({"studnt_G_id":stud_id_G,"studnt_grade_G":grade_G}); 
            }); 
    
            subjct_id = $('#subjects-list').val(); 
             year_grade_level = $('#year_grade_lvl').val(); 
             sbjct_handler_id = $('#assign-handler-id').val(); 
    
             $.ajax({ 
    
              type:'POST', 
              url:'grades.php', 
              dataType:'json', 
              data:{'swtch_numbr':'1','subject_id':subjct_id,'year_level':year_grade_level,'subject_handler_id':sbjct_handler_id,'student_grades_boy':B_grade,'student_grades_girl':G_grade}, 
              success:function (data){ 
    
    
              } 
             }); 
    
    
           }); 
    

    PHP:

    <?php 
    include_once('DBconnect.php'); 
    
    
    
    $switch_num = $_POST['swtch_numbr']; 
    
    
    switch ($switch_num) { 
        case 1:   
         save_grades(); 
         break; 
    
    
    } 
    function save_grades(){ 
        session_start(); 
    
        $school_id = $_SESSION['school_id']; 
        $faculty_id = $_SESSION['user_id_fac']; 
        $subject_id = $_POST['subject_id']; 
        $year_grade_level = $_POST['year_level']; 
        $subject_handeler_id = $_POST['subject_handler_id']; 
        $student_grades_boy = $_POST['student_grades_boy']; 
        $student_grades_girl = $_POST['student_grades_girl']; 
    
    
        $save_grades_boy = "INSERT INTO registrar_grade_archive 
                (registrar_archive_id, 
                school_id, 
                subject_id, 
                grade, 
                advisory_faculty_id, 
                subject_handler_id, 
                year_level, 
                student_id) VALUES"; 
    
            $values_boy = array(); 
            $values_girl = array(); 
    
            foreach ($student_grades_boy as $key=>$data) { 
               $student_id_B= $data['studnt_B_id']; 
               $grade_B = $data['studnt_grade_B']; 
    
        $values_boy[$key] = '(\''.$school_id.'\', \''.$subject_id.'\',\''.$grade_B.'\',\''.$faculty_id.'\',\''.$subject_handeler_id.'\',\''.$year_grade_level.'\',\''.$student_id_B.'\')'; 
              } 
    
         $values_boy = implode(', ', $values_boy); 
    
        $ready_save_grades_boy .= $values_boy; 
    
    
            if(@!mysql_query($ready_save_grades_boy)){ 
             die('error insert'.mysql_error()); 
    
             } 
    
    } 
    

    >

    但是有當我在Firebug的檢查錯誤說: 「你在你的SQL語法錯誤;」

    我找不到我做錯了什麼..請幫助,夥計們,因爲我只是Ajax和PHP中的新手。

    +1

    迴應您的查詢字符串,然後檢查是否有錯誤,或張貼在這裏了,如果你喜歡我們檢查。即在調用mysql_query之前:'echo $ ready_save_grades_boy;'然後應該顯示在你的AJAX返回函數中。 – crush

    回答

    1

    看起來您開始將SQL存儲在變量$ save_grades_boy中,然後嘗試將值連接到$ ready_save_grades_boy,該變量尚不存在,因此被視爲空字符串。

    更換

    $ready_save_grades_boy .= $values_boy; 
    

    隨着

    $save_grades_boy .= $values_boy; 
    

    或者

    $ready_save_grades_boy = $save_grades_boy . $values_boy; 
    
    +0

    非常感謝您的支持。你知道這是我的論文。 – Aoi

    相關問題