$i=0;
while ($game = mysqli_fetch_assoc($games)){
$i++;?>
<tr <?php if(($i%2)==1){ ?> class="odd" <?php } ?> >
<?php foreach($game as $col => $value) {
$col = '';
if($col === 'name' && isset($game['id']){
$col = "<td><a href="https://store.steampowered.com/app/{$game['id']}" target="_blank">{$i}. {$value}</a></td>";
}
if($col === 'cards_count' && isset($game['id']){
$col = "<td>
<a
target="_blank"
href="https://steamcommunity.com/market/search?category_753_Game%5B%5D=tag_app_{$game['id']}&category_753_cardborder%5B%5D=tag_cardborder_0&category_753_item_class%5B%5D=tag_item_class_2&appid=753#p1_price_asc"
>{$value}</td>";
}
if(in_array($col,['price', 'cards_price', 'profit', 'max_cards_price', 'max_profit'])){
$col = "<td>{$value}</td>"
}
echo $col;
}
}
<?php
$table = [
1 => [ 'id' => 1, 'name' => 'n1', 'price' => 1000, 'cards_count' => 1, 'cards_price' => 1000, 'profit'=> 200,'max_cards_price' => 1500, 'max_profit' => 1000 ],
2 => [ 'id' => 2, 'name' => 'n2', 'price' => 2000, 'cards_count' => 2, 'cards_price' => 4000, 'profit'=> 200,'max_cards_price' => 1500, 'max_profit' => 1000 ],
3 => [ 'id' => 2, 'name' => 'n3', 'price' => 3000, 'cards_count' => 3, 'cards_price' => 9000, 'profit'=> 200,'max_cards_price' => 1500, 'max_profit' => 1000 ],
];
$headers = [ 'name', 'price', 'cards_count', 'cards_price', 'profit', 'max_cards_price', 'max_profit' ];
$dom = new DOMDocument();
$tableDom = $dom->createElement('table');
$thead = $dom->createElement('thead');
$thr = $dom->createElement('tr');
foreach ($headers as $header) {
$th = $dom->createElement('th');
$th->textContent = $header;
$thr->appendChild($th);
}
$thead->appendChild($thr);
$tableDom->appendChild($thead);
$tbody = $dom->createElement('tbody');
$odd =false;
foreach ($table as $row) {
$tr = $dom->createElement('tr');
if($odd){
$tr->setAttribute('class', 'odd');
}
foreach ($headers as $header) {
$td = null;
if ($header === 'name' && isset($row['name'], $row['id'])){
$td = $dom->createElement('td');
$td->setAttribute('href', "https://store.steampowered.com/app/{$row['id']}");
$td->setAttribute('_target','blank');
$td->textContent = $row[$header];
}
if ($header === 'cards_count' && isset($row['cards_count'], $row['id'])){
$td = $dom->createElement('td');
$td->setAttribute('href', "https://steamcommunity.com/market/search?category_753_Game%5B%5D=tag_app_{$row['id']}}&category_753_cardborder%5B%5D=tag_cardborder_0&category_753_item_class%5B%5D=tag_item_class_2&appid=753#p1_price_asc");
$td->setAttribute('_target','blank');
$td->textContent = $row[$header];
}
if(in_array($header,['price', 'cards_price', 'profit', 'max_cards_price', 'max_profit'])){
$td = $dom->createElement('td');
$td->textContent = $row[$header];
}
if($td){
$tr->appendChild($td);
}
}
$odd = !$odd;
$tbody->appendChild($tr);
}
$tableDom->appendChild($tbody);
$dom->appendChild($tableDom);
echo $dom->saveHTML();
// Все столбцы
$headers = [
id => '#',
col1 => 'Заголовок 1',
col2 => 'Заголовок 2',
col3 => 'Заголовок 3',
col4 => 'Заголовок 4,
col5 => 'Заголовок 5,
],
// Полученные столбцы
$cols = $_POST['columns'];
/** Пусть это будут эти столбцы
$cols = [ id, col1, col3, col5];
*/
select id, col1,col3,col5 from my_table
<table>
<tbody>
<tr>
<?php foreach($cols as $col){ echo "<th>{$headers[$col]}</th>" } ?>
</tr>
<?php foreach($table as $row){ echo '<tr>'; foreach($row as $col){ echo "<td>{$col}<td>"; } echo '<tr>'; } ?>
</tbody>
</table>
Но вот обычные вузы в моем городе дают только базовые знания и устаревшие на 15 лет технологии.
Вот серьезно лучше пройти пару открытых курсов того-же MIT или Udemy чем сидеть 2 часа на лекции где
профессор в 2 научными степенями на полном серьезе рассказывает от том как что такое Java-апплеты и на практике необходимо из писать, хотя даже их api уже из всех браузеров выпилили.