2016-01-30 16 views
0

привет моя проблема, когда утра редактировать мою форму, которая имеет 3 строки и сохранить свои данные вставки в 3 раза, получая 3 JavaScript оповещения из-за цикл Еогеаспанесколько данных строк вставка дают несколько предупреждения в PHP

я понятия не имею, где проблема

if(isset($_POST['btn_sub'])) 
{ 
    foreach($_POST['marks'] as $row=>$Act) 
    {  
     $session=$_GET['session']; 
     $cl_name=$_GET['cl_name']; 
     $cl_section=$_GET['cl_section']; 
     $exam=$_GET['exam']; 
     $date=$_GET['date']; 
     $subj = $_GET['subj']; 

    $marks = mysql_real_escape_string($Act); 
    $maxmarks = mysql_real_escape_string($_POST['maxmarks'][$row]); 
    $passmarks = mysql_real_escape_string($_POST['passmarks'][$row]); 
    $name = mysql_real_escape_string($_POST['name'][$row]); 
    $rollno = mysql_real_escape_string($_POST['rollno'][$row]); 
    $fname = mysql_real_escape_string($_POST['fname'][$row]); 
    $attendance = mysql_real_escape_string($_POST['attendance'][$row]); 

    $result = mysql_query("SELECT * FROM `ex_marks` WHERE `session`='$session' and `cl_name`='$cl_name' and `cl_section`='$cl_section' and `subject`='$subj' and `exam`='$exam' and `date`='$date' and `roll_no`='$rollno' and `obtainmarks`='$marks'"); 

    if (mysql_num_rows($result) == 0) 
    { 
     mysql_query("INSERT INTO `ex_marks` (`mid`, `session`, `cl_name`, `cl_section`, `name`, `fname`, `status`, `date`, `exam`, `roll_no`, `subject`, `maxmarks`, `passmarks`, `obtainmarks`) 
     VALUES('', '$session', '$cl_name', '$cl_section', '$name','$fname', '$attendance', '$date', '$exam', '$rollno', '$subj', '$maxmarks','$passmarks','$marks')") or die(mysql_error()); 
     echo "<script type='text/javascript'>alert('Submitted Successfully!')</script>"; 
    } 
    else 
    { 
     echo "<script type='text/javascript'>alert('Already Exist!')</script>"; 
    } 
} 
} 

см этот код

+0

это значит, данные уже существуют, которые вы ввода –

ответ

0

не эхо яваскрипта все время в цикле.

if(isset($_POST['btn_sub'])) 


{ 
    $i = 0; 
    foreach($_POST['marks'] as $row=>$Act) 
    { 
    $i++; 
     $session=$_GET['session']; 
     $cl_name=$_GET['cl_name']; 
     $cl_section=$_GET['cl_section']; 
     $exam=$_GET['exam']; 
     $date=$_GET['date']; 
     $subj = $_GET['subj']; 
$marks = mysql_real_escape_string($Act); 
$maxmarks = mysql_real_escape_string($_POST['maxmarks'][$row]); 
$passmarks = mysql_real_escape_string($_POST['passmarks'][$row]); 
$name = mysql_real_escape_string($_POST['name'][$row]); 
$rollno = mysql_real_escape_string($_POST['rollno'][$row]); 
$fname = mysql_real_escape_string($_POST['fname'][$row]); 
$attendance = mysql_real_escape_string($_POST['attendance'][$row]); 

$result = mysql_query("SELECT * FROM `ex_marks` WHERE `session`='$session' and `cl_name`='$cl_name' and `cl_section`='$cl_section' and `subject`='$subj' and `exam`='$exam' and `date`='$date' and `roll_no`='$rollno' and `obtainmarks`='$marks'"); 

if (mysql_num_rows($result) == 0) 
{ 
    mysql_query("INSERT INTO `ex_marks` (`mid`, `session`, `cl_name`, `cl_section`, `name`, `fname`, `status`, `date`, `exam`, `roll_no`, `subject`, `maxmarks`, `passmarks`, `obtainmarks`) 
    VALUES('', '$session', '$cl_name', '$cl_section', '$name','$fname', '$attendance', '$date', '$exam', '$rollno', '$subj', '$maxmarks','$passmarks','$marks')") or die(mysql_error()); 
    if($i == 3){ 
     echo "<script type='text/javascript'>alert('Submitted Successfully!')</script>"; 
    } 
} 
else 
{ 
    echo "<script type='text/javascript'>alert('Already Exist!')</script>"; 
    exit; 
} 
} 
} 

$ Я буду решать, когда отправить сообщение об успешном завершении.

+0

TNX теперь получили одно предупреждение, но теперь проблема только первая строка, кроме максимальной отметки и передать метки сохранить только в 1-й строке и получить метки сохранить во всех строках .. –

0
You set $flg value. By using value alert once.  

if(isset($_POST['btn_sub'])) 
    { 
     $flg=0; 
     foreach($_POST['marks'] as $row=>$Act) 
     {  
      $session=$_GET['session']; 
      $cl_name=$_GET['cl_name']; 
      $cl_section=$_GET['cl_section']; 
      $exam=$_GET['exam']; 
      $date=$_GET['date']; 
      $subj = $_GET['subj']; 

     $marks = mysql_real_escape_string($Act); 
     $maxmarks = mysql_real_escape_string($_POST['maxmarks'][$row]); 
     $passmarks = mysql_real_escape_string($_POST['passmarks'][$row]); 
     $name = mysql_real_escape_string($_POST['name'][$row]); 
     $rollno = mysql_real_escape_string($_POST['rollno'][$row]); 
     $fname = mysql_real_escape_string($_POST['fname'][$row]); 
     $attendance = mysql_real_escape_string($_POST['attendance'][$row]); 

     $result = mysql_query("SELECT * FROM `ex_marks` WHERE `session`='$session' and `cl_name`='$cl_name' and `cl_section`='$cl_section' and `subject`='$subj' and `exam`='$exam' and `date`='$date' and `roll_no`='$rollno' and `obtainmarks`='$marks'"); 

     if (mysql_num_rows($result) == 0) 
     { 
      mysql_query("INSERT INTO `ex_marks` (`mid`, `session`, `cl_name`, `cl_section`, `name`, `fname`, `status`, `date`, `exam`, `roll_no`, `subject`, `maxmarks`, `passmarks`, `obtainmarks`) 
      VALUES('', '$session', '$cl_name', '$cl_section', '$name','$fname', '$attendance', '$date', '$exam', '$rollno', '$subj', '$maxmarks','$passmarks','$marks')") or die(mysql_error()); 
      $flg=1; 
     } 
     else 
     { 
      $flg=0; 
      exit; 
     } 
    } 
    if($flg==1) 
    { 
     echo "<script type='text/javascript'>alert('Submitted Successfully!')</script>";  
    } 
    else 
    { 
     echo "<script type='text/javascript'>alert('Already Exist!')</script>"; 
    } 
    } 
+0

TNX прямо сейчас получил одно предупреждение, но теперь проблема - это только 1-я строка, сохраняющая максимальную отметку, и отметки пропуска сохраняются только в 1-й строке и сохраняют отметки во всех строках .. –

Смежные вопросы