我需要一些有才华的朋友的帮助。
实际上我是开发新手,所以我不知道如何在www.testsite.com/index.php?pname=**Home**
之类的单词中显示我的页面,除了www.testsite.com/index.php?pid=**1**
我有以下代码用于显示页码
if (!$_GET['pid']) {
$pid = '1';
} else {
$pid = ereg_replace("[^0-9]", "", $_GET['pid']); }
和sql代码
$sqlCommand = "SELECT id, link FROM main_page WHERE showing='1' ORDER BY id ASC";
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error());
$menu='';
while ($row = mysqli_fetch_array($query)) {
$pid = $row["id"];
$link = $row["link"];
if ($linklabel){
$menu .='<a href="index.php?pid='.$pid.'">'. $link .'</a>';
}}
我想显示和href页面的名称而不是id我该怎么做。 帮助PLZ
答案 0 :(得分:1)
如果我输入* 1 * 2 * 3 *
,您的示例将失败你应该搜索
的内容**(内容)**
,没有别的。 那会得到你的名字和号码。
这是我的例子
$string = "**123naasdme456**";
preg_match("/[^\*+](?P<val>\w+)[^\*+]/",$string,$matches);
echo $matches[0];
将回复123naasdme456
并在此处将其实施到您的代码中
function getReal($urlVar)
{
if(preg_match("/[^\*+](?P<val>\w+)[^\*+]/",$urlVar,$matches))
{
return $matches[0];
}
return false; // or default value
}
$pid = getReal($_GET['pid']);
$name = getReal($_GET['pname']);
答案 1 :(得分:0)
您应该在数据库(表main_page
)中添加名称为name
或类似名称的额外字段。然后你可以:
if (!$_GET['pname']) {
$pid = 'home';
} else {
$pid = mysql_real_escape_string($pid);
$sql = mysql_query("SELECT name FROM main_page WHERE name = '$pid'");
if (mysql_num_rows($sql) == 1))
{
echo "Content";
} else {
echo "404 error. Couldn't find the page you were looking for.";
}
}
答案 2 :(得分:0)