我想要做的就是创建一个固定链接系统,例如wordpress固定链接。
例如:
$value = 'abc';
if($query_result > 0){
$value = 'abc1'; // if exists check abc2, abc3, abc4, abc5, etc. etc.
} else{
return $value
}
查询结果是搜索行数$query_result = mysql_num_rows
此刻我创造了这个:
if(!empty($_POST['ajax'])){
if($_POST['ajax'] == 'pages'){
echo prettyName($_POST['title']);
}
}
function prettyName($string)
{
$echo = strtolower(str_replace(array(' ', ' '), '-', preg_replace('/[^a-zA-Z0-9 s]/', '', trim($string))));
$sql = "SELECT * FROM posts WHERE post_pretty = '".$echo."'";
$res = mysql_query($sql) or die (mysql_error());
$num = mysql_num_rows($res);
if($num){
$echo = $echo.'-'.pretty2($echo, $num);
}
return $echo;
}
function pretty2($echo,$num,$i = 1)
{
$sql = "SELECT * FROM posts WHERE post_pretty = '".$echo.'-'.$i."'";
$res = mysql_query($sql) or die (mysql_error());
$num = mysql_num_rows($res);
if($num){
$i++;
$i = pretty2($echo,$num,$i);
}
return $i;
}
它做了什么:
$value
($_POST['title']
)是否存在但出了什么问题是:
如果我创建一个新帖子,例如:
new post 1 name = testpage // results in testpage
new post 2 name = testpage // results in testpage-1
new post 3 name = test-page // results in testpage-2 // should be test-page
如果我创建一个包含很多空格的新帖子,那么我还能错误地删除所有空格?尝试用户TRIM功能但不起作用。或者我应该使用javascript来避免这种情况吗?
答案 0 :(得分:2)
如果num rows为0
,它将返回abc
$value = 'abc';
$query_result = mysql_query("SELECT * FROM `table`");
$num_result = mysql_num_rows($query_result);
if($num_result){
$value = 'abc1';
}
PS。尝试使用PDO进行下一步开发。好Tutorial
解决您的问题:
$query_result = mysql_query("SELECT `name` FROM `Table1` ORDER BY `name` DESC LIMIT 1");
$num_result = mysql_num_rows($query_result);
if($num_result){
$row = mysql_fetch_assoc($query_result);
$value = (int)str_replace('abc', '', $row['name']);
$value = 'abc'.($value+1);
}