我在下面的代码中有以下代码,用于在转到下一个PHP页面时保留$ _SESSION值'individual_item_page.php'
注意:我已对经度进行了硬编码。 SQL查询的纬度
<table class="center">
<!-- SEARCH BY LOCATION -->
<?php
$LOCATION = $_POST['location'];
$result = $conn->prepare("SELECT dog_park_name,3956*2*ASIN(SQRT(POWER(SIN((-27.318672099999997 - latitude)*pi()/180/2),2)+COS(19.286558 * pi()/180)
*COS(latitude * pi()/180)*POWER(SIN((152.8500067 -longitude)* pi()/180/2),2)))
as distance FROM dog_parks.items having distance < $LOCATION ORDER BY distance;");
$result->execute();
for($i=0; $row = $result->fetch(); ){
$_SESSION["LOCATION".$i] = $row[0];
?>
<tr><!-- Adding the first table row -->
<th>Dog Park</th><!-- Adding the table header -->
</tr>
<tr><!-- Adding the second table row -->
<td>
<a href="individual_item_page.php?location='<?php $row[$i] ?>' " >
<?php echo $row[$i] ?>
</a>
</td>
</tr>
<?php } ?>
</table>
我认为这是因为在SQL查询中选择了多个项目,例如:dog_park_name,经度和纬度。
我只需要将dog_park_name跟踪到下一页......
有什么想法吗?
答案 0 :(得分:1)
问题是您没有回复$row[$i]
。
变化:
<a href="individual_item_page.php?location='<?php $row[$i] ?>' " >
致:
<a href="individual_item_page.php?location='<?= $row[$i] ?>' " >
答案 1 :(得分:1)
将网址从一个页面传递到另一个页面时出错了。这就是为什么它没有重定向。
<a href="individual_item_page.php?location='<?php echo $row[$i]; ?>' " >
答案 2 :(得分:0)
从代码中我错过了session_start()
,除了你的遗失i++
我认为你会使用类似的东西:
echo "<table>";
while($row = $result->fetch())
{
$_SESSION["LOCATION".$i] = $row[0];
echo "<tr>". //Adding the first table row
"<th>Dog Park</th>". //Adding the table header
"</tr><tr>". //Adding the second table row
"<td><a href='individual_item_page.php?location=". $row[$i] ."'>".
// line above will give you URL Problems in my opinion
// since you are adding not replaceing
$row[$i] ."</a></td>".
"</tr>".
}
echo "</table>";
老实说,为什么不将它粘贴到URL中? 与使用正则表达式清理URL不同。