Как мне установить флажки рядом с данными таблицы mSQL и отправить выборки?

#php #html

#php #HTML

Вопрос:

Я создаю веб-приложение. У меня есть html-страница, на которой я отобразил данные в таблице SQL для пользователя. Теперь мне просто нужно, чтобы пользователь выбрал только 4 строки в таблице, а затем эти выборки будут отправлены.

У меня есть html и php-код, которые помогают мне извлекать и отображать данные в таблице. У меня есть html-форма, которая позволяет пользователям выбирать с помощью флажков.

вот некоторые из html:

 <table>
        <tr>
            <th>Course Code</th>
            <th>Course Name</th>
            <th>Program</th>
            <th>Credits</th>
        </tr>
        <tr>
            <td>
                <input type="checkbox" id="registration" onclick="chkcontrol(0)" class="form-group">
            <td>
        <tr>
        <tr>
            <td>
                <input type="checkbox" id="registration" onclick="chkcontrol(1)" class="form-group">
            <td>
        <tr>
        <tr>
            <td>
                <input type="checkbox" id="registration" onclick="chkcontrol(2)" class="form-group">
            <td>
        <tr>
        <tr>
            <td>
                <input type="checkbox" id="registration" onclick="chkcontrol(3)" class="form-group">
            <td>
        <tr>
    </table>
  

и вот php:

 <?php
        
        $conn = mysqli_connect("localhost", "root", "root", "student_login");
        if ($conn-> connect_error) 
        {
            die("Connection failed:". $conn-> connect_error);
        }
        
        //$form = "<form>";
        $sql = "SELECT Course_Code, Course_Name, Program, Credits from courses";
        $result = $conn-> query($sql);
        
        if ($result-> num_rows > 0) 
            {
                while ($row = $result-> fetch_assoc())
                {
                    echo "<tr><td>". $row["Course_Code"] ."</td><td>". $row["Course_Name"] ."</td><td>". $row["Program"] ."</td><td>". $row["Credits"] ."</td></tr>";
                }
                //echo "</table>"
            }   
            else
            {
                echo "0 result";
            }
            
        ?>
  

Вывод выглядит примерно так:

введите описание изображения здесь

Как вы можете видеть, флажки отображаются над фактическими данными таблицы. Как мне заставить флажки появляться рядом с каждой строкой, чтобы пользователь мог ее выбрать? Я могу получить html, я просто не могу разобраться в php-коде, который мне нужен.

Ответ №1:

Просто повторите флажок в каждой строке вместе с остальным содержимым:

 echo "<tr>
    <td><input type='checkbox' onchange='chkcontrol("". $row["Course_Code"] ."")' class='form-group'></td>
    <td>". $row["Course_Code"] ."</td><td>". $row["Course_Name"] ."</td>
    <td>". $row["Program"] ."</td><td>". $row["Credits"] ."</td>
</tr>";
  

Примечание. Наличие нескольких одинаковых элементов id недопустимо в HTML (поскольку по своей природе идентификаторы должны быть уникальными!), Поэтому я удалил это из разметки.

И для флажков вы действительно должны обрабатывать onchange , а не onclick .

Кроме того, я не был уверен в назначении 0 , 1 , 2 , и 3 передается в chkcontrol функцию (поскольку я не знаю, что делает функция), поэтому я заменил их на с кодом курса, исходя из предположения, что это уникальное значение, и что вам, возможно, нужно передать уникальное значение.значение для функции, чтобы узнать, что было выбрано. Было бы полезно, если бы вы могли это уточнить.

Ответ №2:

Я не уверен, я правильно понимаю, но почему бы вам просто не повторить такие флажки?

  echo "<tr><td><input type='checkbox' id='registration' onclick='chkcontrol(3)' class='form-group'>". $row["Course_Code"] ."</td><td>". $row["Course_Name"] ."</td><td>". $row["Program"] ."</td><td>". $row["Credits"] ."</td></tr>";