首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用超链接在PHP中向下钻取

问使用超链接在PHP中向下钻取
EN

Stack Overflow用户
提问于 2012-09-11 23:02:27
回答 3查看 689关注 0票数 0

我是PHP的新手,我遇到了以下代码的问题...

代码语言:javascript
复制
<?php 
 // Connects to Database 
 mysql_connect("localhost", "root") or die(mysql_error()); 
 mysql_select_db("test") or die(mysql_error()); 
 $data = mysql_query("SELECT country_id, country_name FROM country, channels WHERE channels.channel_id = country.channel_id AND channels.channel_id = '1'") 
 or die(mysql_error()); 
  echo "<table border=0 cellpadding=15>";
echo "<tr align = center bgcolor=white>
<td><b>Country ID</b></td><td><b>Country Name</b></td>" ; 
 while (mysql_fetch_row($data)) {
$cid = mysql_result($data, 1);
$cname = mysql_result($data, 2);

# inserts value into table as a hyperlink

echo "<tr align = center bgcolor=white><td>$cid</td><td><a href=view_country_detail.php?cid=$cid>$cname</td>";
}

# displays table

print '</table>';

 ?>

为了解释我得到的问题,我在生成超链接后,向下钻取到从上面的代码共享要点击的国家的id的公司,然后在'view_country_detail‘页面上显示类似的布局。我搞不懂为什么表的输出为数据库中country列的前两个id提供了重复的行。任何帮助都将非常感谢,因为我在这里完全迷失了方向。谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-11 23:08:50

尝试按如下方式组织您的while循环:

代码语言:javascript
复制
while($row = mysql_fetch_array($data)){
      $cid = $row[0];  //if you have the column names, replace 0 with 'column_name'
      $cname = $row[1];

      //then echo statement
 }

此外,mysql_*函数已经启动了弃用过程,不应该再使用了,甚至在php手册页面上也不鼓励使用mysql_*。考虑使用类似的mysqli_* functions或PDO。

票数 1
EN

Stack Overflow用户

发布于 2012-09-11 23:08:39

我不明白为什么您使用mysql_fetch_row,然后又不想实际使用您获取的行。

您不应该在这里使用mysql_result。您所做的是从结果集的第1行提取数据,然后从第2行提取数据,而不管指针在while循环中的哪一行上。

试试这个:

代码语言:javascript
复制
while ($row = mysql_fetch_assoc($data)) {
    $cid = $row['country_id'];
    $cname = $row['country_name'];
}

我个人发现,在使用mysql_fetch_assoc或mysql_fetch_array时,通过关联键引用字段在代码中的可读性要好得多。

票数 2
EN

Stack Overflow用户

发布于 2012-09-11 23:10:51

试试这个:

代码语言:javascript
复制
while ($row = mysql_fetch_row($data)) {
    $cid = $row[0];
    $cname = $row[1];
    ...
}

mysql_fetch_row返回一个数组。

然而,

您应该考虑停止使用mysql_*函数-它们正被弃用。如果您切换到PDO或mysqli,它也有助于使您的代码更安全。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12372700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档