我想让它显示用户所在页面的 cat_name 。目前是 category.php?id=2 或
category.php?id=' . $row['cat_id'] . '
我想让它 category.php?title=Soccer 或
category.php?title=' . $row['cat_name'] . '
但是,当我替换该行时,会导致另一页出现问题。
页面 category.php 是:
<?php
//category.php
include 'connect.php';
//first select the category based on $_GET['cat_id']
$sql = "SELECT
cat_name,
cat_id,
cat_description
FROM
categories
WHERE
cat_id = '" . mysql_real_escape_string($_GET['id']) ."'";
$result = mysql_query($sql);
if(!$result)
{
echo 'The category could not be displayed, please try again later.' . mysql_error();
}
else
{
if(mysql_num_rows($result) == 0)
{
echo 'This category does not exist.';
}
else
{
//display category data
while($row = mysql_fetch_assoc($result))
{
echo '<h2>Topics in ′' . $row['cat_name'] . '′ category</h2><br />';
}
//do a query for the topics
$sql = "SELECT topic_id, topic_subject, topic_date, topic_cat
FROM topics
JOIN categories
ON topics.topic_cat = categories.cat_id
WHERE cat_id = " . mysql_real_escape_string($_GET['id']);
$result = mysql_query($sql);
if(!$result)
{
echo 'The topics could not be displayed, please try again later.';
}
else
{
if(mysql_num_rows($result) == 0)
{
echo 'There are no topics in this category yet.';
}
else
{
//prepare the table
echo '<table border="1">
<tr>
<th>Topic</th>
<th>Created at</th>
</tr>';
while($row = mysql_fetch_assoc($result))
{
echo '<tr>';
echo '<td class="leftpart">';
echo '<h3><a href="topic.php?id=' . $row['topic_id'] . '">' . $row['topic_subject'] . '</a><br /><h3>';
echo '</td>';
echo '<td class="rightpart">';
echo date('d-m-Y', strtotime($row['topic_date']));
echo '</td>';
echo '</tr>';
}
}
}
}
}
?>
问题是,当我替换 url 时,它使第二个 $sql (下面的那个:对主题进行查询)不起作用。我想做到这一点,以便 sql 与对 url 的更改一起工作。
我想将 cat_id 更改为 cat_name,但是当我这样做时,它会出现它不起作用的错误。所以问题是sql需要GET与cat_id一起,而我希望url具有cat_name。我在 sql 查询中做了什么更改才能使用 cat_name 并且仍然可以正常工作?
希望这是对问题的更好解释。如果您需要更多信息,请告诉我谢谢,瑞恩