你好,我正在尝试解决一个问题,作为一个初学者,我仍在学习,php直到我认为我可以迁移到一个框架,我想做的是:我在 php 中有一个这样的路由器:<?php if(isset($_GET['contact'])){ include('conctact.php'); }elseif(isset($_GET['name_product'])){ include('product.php'); }else{ include('home.php'); } ?>菜单链接如下: <?php $select = mysqli_query($conn, "SELECT * FROM products"); while($row = mysqli_fetch_assoc($select)){?> <div><a href="shoes/<?=$row['url_slug'];?>"><?=$row['name']?> - <?=$row['url_slug'];?></a></div> <?php } ?>(鞋子是我想稍后添加动态类别的类别,点击后我想加载页面product.php,我不想在url上有id,所以我用url slug做了)有的是.htaccessRewriteRule ^([a-zA-Z0-9-])/([a-zA-Z0-9-])$ index.php?name_category=$name_product=$1 [L]我的网址希望看起来像这样www.example/shoes/product-name看起来product.php像这样:<?php $name_product = mysqli_real_escape_string($conn, $_GET['name_product']); $sql=mysqli_query($conn,"SELECT * FROM products WHERE url_slug='$name_product '"); $row=mysqli_fetch_array($sql); ?>我的表 mysql 看起来像这样:Product table|id|name|url_slug|category|Category table|id|name|.htaccess当单击链接包含页面product.php并显示从数据库获取产品的详细信息时,我不知道如何编写。
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
RewriteRule ^/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)$ /index.php?name_category=$1&name_product=$2 [L]
正则表达式中的每组括号都会有一个自己的$
变量。
这将匹配这个确切的 url,www.example/shoes/product-name
如下所示:
$1
= shoes
$2
=product-name
所以如果你的url_slug
表中是product-name
你可以用它来查询你的sql
SELECT * FROM products WHERE url_slug='$name_product'
- 1 回答
- 0 关注
- 106 浏览
添加回答
举报
0/150
提交
取消