我目前仍在学习PHP,所以我还在努力解决一些问题。 我一直在慢慢地阅读并阅读有帮助的教程,但我无法理解这一点。
我有一个数据库表(在mysql中),比方说,100个网址。有一个名为'url'的列和第二列'text'。我已经有了可行的分页代码,因此也将使用它。
我想要做的是回显URL(这些URL都在我网站根目录中名为blog的文件夹中),但是使用文本作为链接。
例如,我表中的前三行可能是:
网址
001.php
002.php
003.php
文字
随机文本
一些随机文本
更多文字
当回显时,链接显示列文本中的文本,如:
随机文字
一些随机文本
更多文字
并在点击时打开相关网址
我猜它需要某种循环来收集所有网址并保存我手动添加链接文本,然后我的分页代码会拆分它们。
这是我第一次在这里提问,所以如果不够清楚,或者你需要更多信息,请告诉我。
我在互联网上进行了多次搜索,但似乎无法找到教程。
答案 0 :(得分:1)
您需要的是:
从数据库中获取结果数组。使用像
这样的东西$ query =“SELECT * FROM urls”; $ result = mysql_query($ query);
对于结果表中的每一行,都会显示相应的网址。请注意,在结果资源上调用mysql_fetch_array,第一次调用时返回结果表的第一行,第二次调用第二行等。当没有更多行返回时,该函数返回false。
(请参阅mysql_fetch_array() documentation)
中的详情While( $row = mysql_fetch_array($result) ){
echo '<a href='.$row['url'].'>'.$row['text'].'</a>';
}
答案 1 :(得分:1)
假设您使用用户名“root”和密码“root”连接到本地mysql服务器,并将您的url存储在名为url_table
的数据库中名为url_database
的表中,您可以执行类似的操作:
$connection = mysql_connect("127.0.0.1","root","root"); // Connect to the mysql server
mysql_select_db("url_database"); // Open the desired database
$query = "SELECT url,text FROM url_table"; // Query to select the fields in each row
$result = mysql_query($query); // Run the query and store the result in $result
while($row = mysql_fetch_assoc($result)) // While there are still rows, create an array of each
{
echo "<a href='".$row['url']."'>".$row['text']."</a>"; // Write an anchor with the url as href, and text as value/content
}
mysql_close($connection); // close the previously opened connection to the database
答案 2 :(得分:0)
以下是您可以开始的示例:
$con = mysql_connect("host","user","password");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT the_url, the_text FROM my_table");
while($row = mysql_fetch_array($result))
{
echo '<a href="' . $row['the_url'] . '">"' . $row['the_text'] . '</a> <br />';
}
mysql_close($con);
答案 3 :(得分:0)
首先,您只想为数据库中的相关行选择用户当前正在查看的页面。例如,如果用户正在查看第2页,并且条目15-30存在,我们只想从数据库中提取这些条目。这是一个效率问题。
你所追求的代码是这样的:
$link = mysql_connect(/*connection parameters go here*/);
if ($link === false)
die;
mysql_select_db('my_database');
$result = mysql_query("SELECT text, url FROM my_table LIMIT 15,30");
print "<ul>\n";
while ($row = mysql_fetch_assoc($result)) {
print "<li><a href=\"{$row['url']}\">{$row['text']}</a></li>\n";
}
print "</ul>\n";
mysql_close();
前三行建立与数据库的连接,如果发生错误则退出脚本。
下一行选择服务器上的相应数据库。
下一个块运行第二页的相应查询。运行查询后,“结果”存储在$result
中。此结果由多个行组成,mysql_fetch_assoc($result)
一次获得一行。然后,它将这些行格式化为适当的链接格式并输出它们。整个链接集包含在点列表中。
最后,mysql_close()
关闭与数据库的连接。
答案 4 :(得分:0)
我假设你刚刚开始,你可能在程序上做了所有这些。
首先,您要查询数据库并获取所需的信息。
<?php
$result = mysqli_query($link, "SELECT url, text FROM table_name");
while ($row = mysqli_fetch_array($result)) $hrefs[] = $row;
foreach ($hrefs as $href) {
echo "<a href=\"".$href['url']."\">".$href['text']."</a>";
}
?>
请注意我在这里没有做错误处理。