我试图打印前3列的CSV在PHP中,当每一行被点击,它将重定向到另一个页面显示更多的信息,从该行。
我已经成功地做到了这一点,但我的问题是,表是列第一,而不是行第一,所以id是每列,而不是行。有没有办法改变这一点,以打印行第一,但仍然限制为3列?
<?php
$libraryData = fopen("../data/libraryData.csv", "r");
echo '<div class="container" id="table_container">';
echo '<table class="table table-sm table-responsive table-bordered table-striped pd-0" id="csvTable">';
while (($data = fgetcsv($libraryData, 1000, ",")) !== FALSE) {
echo '<tr>';
for ($i = 0; $i < 3; $i++) {
echo '<td><a href="display.php?row=' . $i . '">' . htmlspecialchars($data[$i]) . '</a </td>';
}
echo '</tr>';
}
echo '</table>';
fclose($libraryData);
?>
字符串
1条答案
按热度按时间ccrfmcuu1#
我从你的问题中理解到的是,你希望将每行的前三列显示为表中的链接,单击每个链接都会重定向到另一个页面(display.php)中包含来自特定行的更多信息。但是,您已经将link()设置为包含行参数**的固定值。(?row=' . $i . ')**在循环中,这会导致所有链接的值相同。
为了解决这个问题,你需要动态地传递实际的行索引。你可以修改链接以在URL中包含行索引。
更新你的代码如下:
字符串