如何在从MySQL数据库获取数据后,在我的php页面上创建可点击的URL?
如何在从MySQL数据库获取数据后,在我的php页面上创建可点击的URL?
我试图从数据库的一列中提取数据,并将其制作成一个链接,其中URL是从另一列中提取的。不幸的是,我尚未能够做到这一点。我附上了输出的屏幕截图,这是我使用的代码:
$sql = "SELECT DISTINCT item_title, item_url, item_date, item_author FROM nbth"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 输出每一行的数据 while($row = $result->fetch_assoc()) { echo "" . $row["item_title"]. " url: " . $row["item_url"]. " - By " . $row["item_author"] . " " . $row["item_date"]. "" ; $HTML .= "".$row['item_title'].""; echo $HTML; } } else { echo "0 results"; }
结果的屏幕截图:
[![enter image description here][1]][1]
标题确实成为链接,但它们被循环了一次又一次,第一行是第一个标题,然后是第一个标题和第二个标题,然后是第一个、第二个和第三个标题,依此类推。那么,我该如何修复这个循环问题,并仍然显示标题作为链接呢?
问题的出现原因是在代码中使用了错误的字符串拼接操作符(`.`),导致每次循环迭代时都将 `` 标签的内容拼接到 `$HTML` 变量中。另外,代码中缺少对 `href` 属性值的引号。
解决方法是将拼接操作符(`.`)修改为赋值操作符(`=`),并在 `href` 属性值两边添加引号。
以下是修改后的代码:
$HTML = "".$row['item_title']."";
这样修改后的代码将在每次循环迭代时将正确的 `` 标签内容赋值给 `$HTML` 变量,并正确添加了 `href` 属性值的引号。
在编写PHP页面时,从MySQL数据库获取数据后,希望将数据中的URL转换为可点击的链接。然而,根据提供的代码,URL并没有被转换为可点击的链接。
解决这个问题的方法是在循环之外使用echo $html语句,或者在循环内部使用更改后的代码。
以下是解决方法的整理:
1. 在循环之外使用echo $html语句:
$HTML = ''; while($row = $result->fetch_assoc()) { $HTML .= "" . $row["item_title"]. " url: " . $row["item_url"]. " - By " . $row["item_author"] . " " . $row["item_date"]. ""; } echo $HTML;
2. 在循环内部使用更改后的代码:
while($row = $result->fetch_assoc()) { $HTML = "".$row['item_title'].""; echo $HTML; }
以上是解决问题的两种方法,可以根据自己的需求选择其中一种。