2014-10-23 5 views
1

Я кодирую страницу для посещения студентов, а на странице все имена студентов извлекаются динамически из базы данных, используя цикл while, а внутри цикла while я использовал переключатель.radio button in while loop

моя проблема правильно кнопка работы радио, но я не смог вставить значение радиокнопок Into database.here мой код:

include'connection.php'; 
@$id = mysql_real_escape_string($_GET['id']); 
$res=mysql_query("SELECT * FROM `std_register` AS p1 ,`sims-register-course` AS p2 WHERE p2.semester=p1.std_semester and p2.department=p1.std_department and p2.id = '".$id."'"); 
if ($res==FALSE) { 
echo die(mysql_error()); 
       } 
while ($row=mysql_fetch_assoc($res)) { ?> 

    <input type="hidden" id="dept_0"   name="dept[]"   value="<?php echo $row["department"] ?>"> 
    <input type="hidden" id="course_name_1"  name="course_name[]" value="<?php echo $row["course_name"] ?>"> 
    <input type="hidden" id="std_semester_2" name="std_semester[]" value="<?php echo $row["semester"] ?>"> 
    <input type="hidden" id="std_id_3"   name="std_id[]"   value="<?php echo $row["id"] ?>"> 
    <input type="hidden" id="std_name_4"  name="std_name[]"  value="<?php echo $row["std_name"] ?>"> 
    <tr> 
    <td class =info><?php echo $row["std_name"];?></td> 
    <td><input type="radio"    name="<?php echo "status['".$row["std_name"]."']" ?>" value="1"></td> 
    <td><input type="radio"    name="<?php echo "status['".$row["std_name"]."']" ?>" value="2"></td> 
    </tr> 

    <?php }?> 
    </table><br> 

    <div class="form-group"> 
    <div class="col-sm-offset-2 col-sm-3"> 
    <input type="submit" name="submit" value="Assign" class="btn btn-large btn-block btn-primary"></div></div> 
    </form> 

    <?php 
    for ($i=0; $i < 4; $i++) { 
    if(isset($_POST["submit"])) { 
    $stdid = mysql_real_escape_string($_POST['std_id'][$i]); 
    $dptname = mysql_real_escape_string($_POST['dept'][$i]); 
    $courseName = mysql_real_escape_string($_POST['course_name'][$i]); 
    $stdSemester = mysql_real_escape_string($_POST['std_semester'][$i]); 
    $std_name = mysql_real_escape_string($_POST['std_name'][$i]); 
    $present = mysql_real_escape_string($_POST['status'][$i]); 

    $totalClasses = $present;            
    $insrt = mysql_query("INSERT INTO `attendence_student` (department_name,courseName,semester,present,absent,total_classes) VALUES('$dptname','$courseName','$stdSemester','$present',0,0)") or die(mysql_error()); 

     } 

    } 

и можно вставить значения из этого радиокнопок в два столбца базы данных?

+0

Вы не должны использовать sql, поскольку он устарел. Изучите SQLI или PHP PDO как для совместимости, так и для безопасности. Какие ошибки вы получаете? Это соединение с db ок? – Billy

+0

да база данных прекрасно соединяется. – hassan

+0

Ошибка, которую я получаю здесь: Неопределенное смещение – hassan

ответ

0

Я не уверен, но попробуйте добавить 'проверил' свойство на входе радио

<input type="radio" name="<?php echo "status[".$row["std_name"]."]" ?>" value="1" checked></td> 

Или
использование Выберите тег вместо кнопки радио

EDIT
используйте этот код для вставки в настоящую колонку или отсутствующий столбец

$value = mysql_real_escape_string($_POST['status'][$i]); 
$totalClasses = $value; 
if($value == 1) //check if present 
{ 
$sql="INSERT INTO `attendence_student` (department_name,courseName,semester,present,absent,total_classes) VALUES('$dptname','$courseName','$stdSemester','$value',0,0)"; 
} 
else //if absent 
{ 
$sql="INSERT INTO `attendence_student` (department_name,courseName,semester,present,absent,total_classes) VALUES('$dptname','$courseName','$stdSemester',0,'$value',0)"; 
} 

$insrt = mysql_query($sql) or die(mysql_error()); 
+0

позвольте мне попробовать. – hassan

+0

извините, что проверил не получилось :( – hassan

+0

Okey try select tag –