Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何基于URL构建页面_Php_Url - Fatal编程技术网

PHP如何基于URL构建页面

PHP如何基于URL构建页面,php,url,Php,Url,我有很多项目的呈现页面,我想通过点击链接访问项目特定的页面 while($row = mysqli_fetch_array($result)) { echo "<h3><a href=\"".$row['Brand']."-".$row['Model']."\" class=\"text-info\">".$row['Brand']." ".$row['Model']."</a></h3>"; //more details } w

我有很多项目的呈现页面,我想通过点击链接访问项目特定的页面

while($row = mysqli_fetch_array($result))
{
    echo "<h3><a href=\"".$row['Brand']."-".$row['Model']."\" class=\"text-info\">".$row['Brand']." ".$row['Model']."</a></h3>";
    //more details
}
while($row=mysqli\u fetch\u数组($result))
{
回声“;
//更多细节
}

因此,通过单击
$row['Brand']-$row['Model']
我希望被重定向到包含此项目的页面。我能做到吗?我知道的唯一方法是插入新的.php文件,并通过URL或post请求从
SQL
传递一些唯一项目的id,这不是SEO友好的方法,所以我想避免这种情况。

您必须使用指向要筛选结果的列的where子句从mysql\u查询函数中执行此操作

    echo "<h3><a href=\"?brand=".$row['Brand']."&model=".$row['Model']."\" class=\"text-info\">".$row['Brand']." ".$row['Model']."</a></h3>";

$brand = (isset($_GET['brand'))?mysql_real_escape_string($_GET['brand']):'';
$model = (isset($_GET['model'))?mysql_real_escape_string($_GET['model']):'';
$query = "SELECT * FROM cars WHERE brand='$brand' AND model='$model'";

$result = mysql_query($query);
echo”“;
$brand=(isset($\u GET['brand'))?mysql\u real\u escape\u string($\u GET['brand']):“”;
$model=(isset($\u GET['model'))?mysql\u real\u escape\u string($\u GET['model']):“”;
$query=“从品牌=“$brand”和车型=“$model”的汽车中选择*;
$result=mysql\u query($query);

您需要在apache中使用重写(假设这是您的Web服务器),或者考虑使用一个框架来为您处理。类似CodeIgniter或Laravel这样的简单工具。

您可以拥有一个独立的PHP脚本,并使用URL重写(
.htaccess
)来获取URL部分并进行翻译(重写)将它们转换为
$\u获取
参数…或者您可以使用PHP路由。这一切都取决于您使用的设置、框架、cms…但按原样看问题,很难回答或理解实际询问的内容…这就是您应该如何回显:
echo“”;
这正是我所做的:)你为什么用代码回答?检查,你想添加字母I吗?你为什么不自己写答案呢?因为我写了一条评论,这个问题没有明确的答案。你的答案(都在这里)因为我们不知道他使用的是什么框架/设置/cms,所以我们只是在空谈…谢谢!我希望这可以在没有web服务器配置的情况下解决。但这对我来说绝对没问题!@Hunkeone如果这对你有用,你应该接受答案。