点击表格行时如何同时调用PHP函数并跳转至Form.php?
解决方案
不需要同时做“跳转+调用函数”两件事,直接通过URL传递行ID就能实现需求——点击表格行跳转到Form.php,同时让Form.php拿到对应行的ID去查询数据,完美避开include导致的CSS冲突问题。
步骤1:修改index.php的表格行代码
给每个<tr>添加点击事件,跳转时把该行的Item ID作为URL参数传递给Form.php:
<tbody> <?php include("DBLookupQuerys.php"); while($rows=mysqli_fetch_array($Fullsql)) { ?> <!-- 添加点击事件和鼠标指针样式,提示可点击 --> <tr onclick="window.location.href='Form.php?id=<?php echo $rows['Item ID']; ?>'" style="cursor: pointer;"> <?php echo '<td>'. $rows['Item ID'] .'</td>'; echo '<td>'. $rows['Accession #'] .'</td>'; echo '<td>'. $rows['Name'] .'</td>'; echo '<td><img class="Img_Table" src="Images/'. $rows['img'] .'" alt="no Image" ></td>'; echo '<td>'. $rows['OnDisplay'] .'</td>'; echo '<td>'. $rows['Room #'] .'</td>'; echo '<td>'. $rows['Shelf #'] .'</td>'; echo '<td>'. $rows['Row #'] .'</td>'; echo '<td>'. $rows['Missing'] .'</td>'; echo '</tr>'; } ?> </tbody>
步骤2:在Form.php中接收ID并获取数据
Form.php通过$_GET拿到传递的ID,再调用你的getIndexRow函数查询对应数据即可:
<?php // Form.php 核心逻辑 if(isset($_GET['id']) && !empty($_GET['id'])){ $itemId = $_GET['id']; // 引入查询文件并调用函数获取数据 include("DBLookupQuerys.php"); $rowData = getIndexRow($itemId); // 假设该函数接收ID参数,返回对应行的数据库数据 // 后续直接用$rowData渲染表单展示内容即可 } else { // 若没有传递ID,直接跳回首页 header("Location: index.php"); exit; } ?>
方案优势
- 彻底避开include操作,从根源解决CSS冲突问题;
- 跳转时通过URL参数传递ID,Form.php独立完成数据查询,无需在index.php提前调用函数;
- 添加
cursor: pointer样式,让用户直观感知行可点击,提升交互体验。
内容的提问来源于stack exchange,提问作者Liam Morton
相关产品推荐
相关产品推荐

