2013-10-25 6 views
0

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

Так таблица может иметь 4 колонки или 6 в зависимости от диапазона дат, положить в.

Что бы быть лучшим способом идти об этом, как я попробовал несколько вещей, но ничего не получает около того, что я хочу ,

Вот код:

echo '<table>'; 
echo '<tr>'; 
echo '<th>Last Name</td>'; 
echo '<th>First Name</td>'; 
if($column_date1 != '') { echo '<th>' . $column_date1 . '</td>'; } 
if($column_date2 != '') { echo '<th>' . $column_date2 . '</td>'; } 
if($column_date3 != '') { echo '<th>' . $column_date3 . '</td>'; } 
if($column_date4 != '') { echo '<th>' . $column_date4 . '</td>'; } 
if($column_date5 != '') { echo '<th>' . $column_date5 . '</td>'; } 
echo '</tr>'; 

// I will have a loop in here that searches records in a database. 
$mysqliFunctionResult = $mysqliFunction->query($mysqliFunctionQuery); 
while($line = $mysqliFunctionResult->fetch_assoc()) { 
?><tr> 
    <td><?php echo $line['tabledata1']; ?></td> 
    <td><?php echo $line['tabledata2']; ?></td> 
    <td><?php echo $line['tabledata3']; ?></td> 
    <td><?php echo $line['tabledata4']; ?></td> 
    <td><?php echo $line['tabledata5']; ?></td> 
    </tr> 
<?php } ?> 
</table> 
+0

Это вероятно, будет работать гораздо лучше если вы делаете это на стороне клиента с javascript или jquery, тем не менее, пишите ответ – Skarlinski

ответ

0

Возможно, возможно, я пропустил понимание вашего ответа, но. вот мое дело.

/****************************** 
* get the $database with same 
* names as the $_POST 
*****************************/ 

<table> 
<thead> 
<tr> 
    <?php // make the headers 
    foreach ($_POST as $column => $inside) { 
     if (!empty($column)) { 
      echo "<th>" . $column . "<th>"; 
     } 
    } 
    ?> 
</tr> 
</thead> 
<tbody> 
foreach($database, $row) { 
    foreach ($_POST as $column) { 
     if (!empty($column)) { 
      $row[$column]; 
     } 
    } 
} 
?> 
</tbody> 
</table> 

Я просто бросил это вместе, я сомневаюсь, что где-нибудь рядом с совершенным, но, может быть, даст вам представление о том, один из способов сделать это возможно.

0

Делают Еогеасп ($ ключ => $ значение) на $ _POST данных. Затем используйте $ key для доступа к данным, которые вы вытащили. Для каждого ключа эхо-сигналы соответствующие данные, которые вы хотите показать.

+0

Извините, у меня нет кода, отправленного с телефона. Если это не ясно, я отредактирую – Skarlinski

0

легче, если вы можете сохранить POSTDATA как массив:

foreach($_POST['column_date'] as $column_date) 
    if("" != $column_date) 
     echo '<th>' . $column_date . '</td>'; 

... Вы должны были бы назвать входные-поля column_date [1] и т.д.

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