PHP - 数据未传输到下一页

时间:2016-05-17 13:49:15

标签: php mysql

我在下面的代码中有以下代码,用于在转到下一个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>   

以下是执行脚本时URL中的结果。 仅显示 Result

我认为这是因为在SQL查询中选择了多个项目,例如:dog_park_name,经度和纬度。
我只需要将dog_park_name跟踪到下一页......

有什么想法吗?

3 个答案:

答案 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不同。