编程语言
首页 > 编程语言> > php-将(标题类似“ A%”的名称)更改为B或C,等等(重写)

php-将(标题类似“ A%”的名称)更改为B或C,等等(重写)

作者:互联网

这是对已经关闭的问题的重写,因为它太模糊并且我没有正确插入代码.希望这更有意义.

我有一个大型SQL数据库,其中包含“标题”和“作者”.我使用PHP设置了一个查询,该查询将仅在页面上选择以A开头的标题((标题为“ A%”)).

$result = mysql_query("SELECT * FROM table WHERE (title LIKE 'A%') ORDER BY title ASC");

//fetch the data from the database
while ($row = mysql_fetch_array($result)) {
$DirPath = $row{'filename'};
//To get the innermost dir 'display just mp3'
$InnermostDir = basename(rtrim($DirPath, '/'));

echo "<tr><td align='justify'>";
echo $row{'title'} ;
echo "</td><td align='center'>";
echo $row{'author'} ;
echo "</td><td align='center'>";
echo $row{'publisher'} ;
echo "</td><td align='center'>";
echo $row{'pages'} ;
echo "</td><td align='center'>";
echo $row{'year'} ;
echo "</td><td align='center'>";
echo $row{'type'} ;
echo "</td><td align='center'>";
echo $row{'genre'} ;
echo "</td><td align='center'>";
echo $row{'location'} ;
echo "</td><td align='center'>";
echo $row{'id'} ;
echo "</td><td align='center'>";
echo $row{'shortauthor'} ;
echo "</td></tr>";
}
?>
</table>
<?php
//close the connection
mysql_close($dbhandle);
?>

http://sanctuary-westminster.org/library/epa.php

目前,我只复制了25次页面,唯一的区别是字母更改了(页面标题也更改了以反映字母),然后只需使用简单的href =“ epb.php”即可加入他们在一起.因此,在epb.php页面上:

$result = mysql_query("SELECT * FROM table WHERE (title LIKE 'B%') ORDER BY title ASC");

http://sanctuary-westminster.org/library/epb.php

这是一个漫长而又没有吸引力的方法,任何更改都需要更改所有页面.我尝试使用$letter代替链接,而将LIKE’A%’改为LIKE’$letter%’:

$result = mysql_query("SELECT * FROM table WHERE (title LIKE 'row{'letter'}%') ORDER BY title ASC");

但是那失败了.它不给出任何错误消息,由于输入值不正确,因此不会进行查询,因此不会返回任何内容.
希望以前有更好的理解和道歉.

(我还研究了使用下拉菜单的方式,其中“ Submit”命令存储从选项中选择的字母,然后在查询中使用该字母,但是当我查看下拉菜单和SQL时,唯一的示例似乎与用表格填充菜单,而不是使用表格创建查询.不确定这样做是否会更好)

解决方法:

有一个标题为lib.php的页面,并向其传递一个参数,例如lib.php?letter = A

将您的代码更改为:

$result = mysql_query("SELECT * FROM table WHERE (title LIKE '" . mysql_real_escape_string($_GET['letter']) . "%') ORDER BY title ASC");

现在,同一个文件lib.php可以生成以前的所有页面.

标签:sql-like,sql,php
来源: https://codeday.me/bug/20191201/2082318.html