由于某种原因,我的数组不会回显值

时间:2015-10-30 17:23:02

标签: php

我有一个拥有数千个结构的数据库。通过首先选择“区域”,然后选择“block_number”,可以搜索结构。我的第一页允许用户选择区域,然后区域通过URL传递到下一页。下一页使用php来拉出该区域的块。我试图回应结果中的“区域”和“block_number”。我的查询工作正常,但由于某种原因我无法在结果中显示“区域”。请参阅下面的代码。

validate="currency"

我的问题是您看到<? include("conn.php"); include("pl_header.php"); $area = mysql_real_escape_string($_GET['area']); $wtf = '$area'; ?> <h3>Choose A Block Number in<br> <?=$area?></h3><br> <center> <?php $tblWidth = 1; $sql = mysql_query("SELECT DISTINCT block_number FROM platform_locations WHERE area='$area'"); $i = 1; // Check to see if any results were returned if(mysql_num_rows($sql) > 0){ echo '<div class="redBox extraIndent">'; // Loop through the results while($row = mysql_fetch_array($sql)){ echo '<a href="S3.php?area='. $row['area'] .'&block_number='. $row['block_number'] .'" target="_self" class="index_buttons">'. $row['area'] .''. $row['block_number'] .'</a>'; if($i == $tblWidth){ echo ''; $i = 0; } $i++; } echo ''; }else{ echo '<br>Sorry No Results'; } ?> </div> </body> </html> 没有显示任何内容,但'. $row['area'] .'工作得很好。

2 个答案:

答案 0 :(得分:1)

您的查询仅选择block_number。

尝试更改:

$sql = mysql_query("SELECT DISTINCT block_number FROM platform_locations WHERE area='$area'");

要:

$sql = mysql_query("SELECT DISTINCT block_number, area FROM platform_locations WHERE area='$area'");

编辑:如果将来遇到此问题,请尝试var_dump($ row);查看数组包含的内容。这将向您显示您只能访问block_number而不是区域。

双重编辑:我没有注意到,但另一个答案是正确的$ area var-你已经保存了$ area,使用该变量而不是数据库的返回,因为它&已经在记忆中了。如果每个记录都可以更改,那么使用记录的区域变量来使代码更可重用是谨慎的。但是,在这种特殊情况下,您的SQL语句在where子句中具有区域,因此除非您尝试在其他位置使用此代码的部分内容,否则它不会发生变化。

答案 1 :(得分:1)

您的SQL查询仅选择block_number,因此这是$row数组中唯一的字段。您已将区域作为变量$area,因此请使用该区域,而不是$row['area']