我在php表单概念方面遇到了一些困难,如下所示:
网站上有一个关键字搜索输入表单,用于优化网站上图像的外观。我们的想法是使用构造网址的get
方法传递关键字:
数据库查询的构建方式可以处理多个关键字,这些关键字将以逗号分隔的关键字显示在网址中:
如何构建一个提交表单,允许用户输入一个关键字,输出此page.php?keyword = tree,如果他在输入字段中输入另一个关键字,则会将链接更改为
在其末尾添加另一个关键字?
我最初的想法是检索当前网址并提供自定义网址,以防变量已经存在,但我不确定表单本身应如何处理该操作。
任何帮助将不胜感激
答案 0 :(得分:0)
您尝试执行的操作可以使用隐藏的<input>
和一些javascript与最小 PHP结合使用。
您的表单如下所示:
<form id="myForm" action="">
<input type="hidden" id="keyword" name="keyword" value="<?= $_GET['keyword'] ?>" />
<input type="text" id="newKeyword" name="newKeyword" /><br />
<input id="submit" type="submit" />
</form>
然后使用jQuery,您可以修改提交按钮的行为:
<script language="javascript" type="text/javascript">
$("#submit).on('click', function() {
var keyword = $("#keyword").val();
var newKeyword = $("#newKeyword).val();
if (keyword != "") {
keyword = keyword + ",";
}
keyword = keyword + newKeyword;
window.location.href = "?keyword=" + keyword;
});
</script>
请记住,当您访问数据库时,不应使用mysql_*
函数。他们被弃用了。而是使用PDO(从PHP 5.1开始支持)或mysqli(从PHP 4.1开始支持)。如果您不确定使用哪一个,read this SO article。
答案 1 :(得分:0)
您甚至可以使用多个input
标记name
attribute = keywords[]
在服务器端解决此问题。
PHP将从中创建一个很好的数组:$_REQUEST['keywords']
。拿它,例如implode
。
请问以防我不完全清楚......