【问题标题】:How do I make a clickable url in my php page after getting data from MySQL DB?从 MySQL DB 获取数据后,如何在我的 php 页面中创建可点击的 url?
【发布时间】:2016-02-01 22:48:31
【问题描述】:

我正在尝试从 db 的 1 列中提取数据,并将其转换为从另一列中提取 URL 的链接。不幸的是,我无法做到这一点。我附上了输出的屏幕截图,这是我正在使用的代码:

$sql = "SELECT DISTINCT item_title, item_url, item_date, item_author FROM nbth";
 $result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    echo "<a>" . $row["item_title"]. " url: " . $row["item_url"]. " <br> - By " . $row["item_author"] . " " . $row["item_date"]. "<br><br></a>" ;
    $HTML .= "<a href=".$row['item_url'].">".$row['item_title']."</a>";
    echo $HTML;
}
} else {
echo "0 results";
}

结果截图: [![在此处输入图片描述][1]][1]

标题确实会变成链接,但会一次又一次地循环,第一行中的第一个标题,然后是第一个标题和第二个,然后是第一个、第二个和第三个,依此类推。那么,我该如何解决这个循环,并且仍然将标题显示为链接。

【问题讨论】:

标签: php html mysql


【解决方案1】:
$HTML .= "<a href=".$row['item_url'].">".$row['item_title']."</a>";

去掉等号前的句点(字符串连接)运算符:

$HTML = "<a href=".$row['item_url'].">".$row['item_title']."</a>";

它会导致循环的每次迭代都将"&lt;a href=".$row['item_url']."&gt;".$row['item_title']."&lt;/a&gt;"; 部分连接到$HTML 变量。

另外,请用引号将 href 属性的值括起来(")。

【讨论】:

    【解决方案2】:

    在循环外回显 $html

    while($row = $result->fetch_assoc()) {
    $HTML ='';
    echo "<a>" . $row["item_title"]. " url: " . $row["item_url"]. " <br> - By " . $row["item_author"] . " " . $row["item_date"]. "<br><br></a>" ;
    $HTML = "<a href=".$row['item_url'].">".$row['item_title']."</a>";
    echo $HTML;
    }
    } else {
    echo "0 results";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-18
      • 2020-12-03
      • 2016-03-22
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 2022-11-24
      • 1970-01-01
      相关资源
      最近更新 更多