2015-05-15 3 views
0

Я хочу создать таблицу HTML, но строки должны быть сгенерированы из значений из базы данных mysql. Проблема в том, что я хочу иметь логическое поле, где пользователь может его пометить, а затем нажать кнопку, чтобы обновить таблицу в базе данных. Как я могу это сделать?Таблица HTML с встроенным php

код до сих пор:

<?php 
session_start(); 
require("connectToEvent_log.php"); 
$connectToEvent = connect2db(); 
$uid = '2'; // for the filnal version: @$_SESSION['uid']; 

$view_event = "SELECT * FROM event_log WHERE uid = $uid"; 
$view_event_query = mysqli_query($connectToEvent, $view_event); 
$row = mysqli_num_rows($view_event_query); 
$print = mysqli_fetch_array($view_event_query); 
?> 

<html> 
<head> 
<title>Events</title> 
</head> 
    <body> 
     <form action="viewEvents.php" method="POST"> 
       <table border = '1'> 
        <tr> 
        <?php 
         while($row != 0){ 
         echo "<td>".$print['hours']."</td>"; 
         echo "<td>".$print['date']."</td>"; 
        } 
        ?> 
        </tr> 
       </table> 
     <form/> 
     </form> 
    </body> 
</html> 
+0

Вы собираетесь использовать форму HTML (с флажками) и некоторый дополнительный PHP-код для хранения значений, возвращаемых из формы HTML. – DragonYen

+0

Да, я знаю это, но мне нужны только флажки для генерации, когда есть строка из базы данных. – Lasse

ответ

1

Вы можете легко перебирать результат из функции mysqli_fetch_array для создания строки таблицы. Создание разметки флажка выполняется легко, я предполагаю, что таблица имеет первичный ключ id, а столбец, в котором хранится значение флажка (0 или 1), называется checkbox.

<?php 
session_start(); 
require("connectToEvent_log.php"); 
$connectToEvent = connect2db(); 
$uid = '2'; // for the filnal version: @$_SESSION['uid']; 

$view_event = "SELECT * FROM event_log WHERE uid = $uid"; 
$view_event_query = mysqli_query($connectToEvent, $view_event); 
$num_rows = mysqli_num_rows($view_event_query); 
$rows = mysqli_fetch_array($view_event_query); 

?> 

<html> 
<head> 
    <title>Events</title> 
</head> 
    <body> 
     <form action="viewEvents.php" method="POST"> 
      <table border="1"> 
       <thead> 
        <tr> 
         <td>Id</td> 
         <td>Date</td> 
         <td>Hours</td> 
         <td>Checkbox</td> 
        </tr> 
       </thead> 
       <tbody> 
        <?php 
        for ($i = 0; $i < count($num_rows); $i++) { 
        ?> 
         <tr> 
          <td><?php print $rows[$i]["eid"]; ?></td> 
          <td><?php print $rows[$i]["date"]; ?></td> 
          <td><?php print $rows[$i]["hours"]; ?></td> 
          <td><input type="checkbox" name="row[<?php $rows[$i]["eid"]?>][checkbox]" value="1" <?php if ($rows[$i]["accepted"]) print ' checked="checked"'; ?>/></td> 
         </tr> 
        <?php 
        } 
        ?> 
       </tbody> 
      </table> 
      <input type="submit" /> 
     </form> 
    </body> 
</html> 
+0

. Этот код выглядит осторожно перспективным, но когда я его запускаю, я получаю немного предупреждения ... Нелегальное смещение строки. . – Lasse

+0

Я не знаю структуру базы данных, поэтому индексы массива '$ row' могут быть неправильными. Если бы вы могли дать нам некоторое представление о вашем db ... –

+0

О, конечно, проблем нет. Строка события структурирована следующим образом: eid (id события), uid, cid (идентификатор консультанта), крышка (идентификатор местоположения), дата, часы, тип, комментарий и принятые. Извините за отставание информации – Lasse

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