2013-07-02 2 views
0

Я создаю сайт для входа в школу для репетиторского центра. После того, как студент, зарегистрированный на репетиторе, может увидеть информацию о студенте, а репетитор также может предоставить студенческую информацию вместе с именем преподавателя. Моя проблема заключается в том, что я выбираю имя преподавателя, которое всегда вставляет имя последнего преподавателя. Я использую PDO для подключения к базе данных. пожалуйста, может кто-нибудь дать мне представление о том, как я могу решить эту problem.thanks ..Как получить значение из опции выбора html с помощью GET

Вот мой HTML код формы:

<form action="" method="post"> 
    <table border="1"> 
     <tr> 
      <th>Student Name</th> 
      <th>course</th> 
      <th>Tutor</th> 
      <th>Actions</th> 
     </tr> 

     <?php 
     //select all users from database 
     $rows = $database->selectFromOnline(); 

     foreach($rows as $row){ 
      $time = $row['time_out']; 
      ?> 
      <tr> 
       <td> <?php echo $row['user_name'] ?></td> 
       <td> <?php echo $row['course'] ?> </td> 
       <td> 
        <select name='tutor'> 
         <?php 
          //select all instructor from instructor table 
          $sqls = $database->selectFromTutor(); 
          foreach($sqls as $sql){ 
           echo"<option value='$sql[tutor_ln]'> $sql[tutor_ln] </option>"; 
          } 
         ?> 
        </select> 
       </td> 

       <?php 
        echo" <td> <a href='tutor.php?user_name=$row[user_name]&&course=$row[course]&&tutor=$sql[tutor_ln]'>Delete</a></td>"; 
       ?> 
      </tr> 
     <?php 
     } 
     ?> 

    </table> 
</form> 

Это мой код вставки:

if(isset($_GET['user_name'])){ 

    $user_name = $_GET['user_name']; 

    $course = $_GET['course']; 

    // if i use $_POST['tutor'] it gives me undefined variable error 
    $tutor = $_GET['tutor']; 

    //insert into report database table 
    $database->insetIntoReport($user_name, $course, $tutor); 

    //Redirect to current page 
    header('Location: tutor.php'); 
    exit; 
} 
?> 
+0

'&& tutor = $ sql [tutor_ln]' будет вызывать последний tutor_in, полученный из базы данных –

+0

, как это решить. не могли бы вы дать мне пример @legendinmaking –

ответ

1

Ваша форма говорит <form action="" method="post">, вы должны использовать переменные $ _POST в вашем коде.

+0

, если я использую $ _POST [], он дает мне неопределенную переменную error @DevZero –

1

Если вы используете method="post" на форме, вы должны использовать $_POST[]

+0

, если я использую $ _POST [], она дает мне неопределенную переменную ошибку .. –

2

Вы выводя мультипликатор <select name='tutor'> в вашей форме. Один выбирается для КАЖДОГО времени, которое выполняется внутри ->selectFromTutor(). Таким образом, вы получите МНОЖЕСТВЕННЫЕ экземпляры выборщика, и только остальная часть будет отправлена ​​вместе с остальной формой.

1

В дополнение к другим ответам вы также можете использовать $_REQUEST, если вы не хотите беспокоиться, была ли форма отправлена ​​через POST или GET.

0

Я думаю, вы не готовы использовать почту, то вы должны написать яваскрипт функцию как имя

<script type="text/javascript"> 
    function DeleteTutor(name,course){ 
    var tutor=document.getElementById('tutor').value; 
    window.location.href = 'tutor.php?username='+name+'&course='+course+'&tutor='+tutor; 
    } 
</script> 

захвата и конечно же в переменных $name и $course и вашей ссылка Удалить модифицирована для

<?php echo"<td> <a onclick=\"DeleteTutor('$name', '$course')\">Delete</a></td>"; ?> 

Не забудьте добавить свой id, чтобы выбрать это для работы

<select name='tutor' id="tutor"> 
Смежные вопросы