首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现搜索功能?(将某些内容替换为人们搜索的内容)

如何实现搜索功能?(将某些内容替换为人们搜索的内容)
EN

Stack Overflow用户
提问于 2011-06-04 02:50:47
回答 3查看 958关注 0票数 0

这是我当前的代码:

代码语言:javascript
复制
$result = mysql_query("SELECT * FROM characters WHERE namn = 'Jargon'"); 

while($row = mysql_fetch_array($result)) 
  { 
  echo "<div class='content_left'>"; 
  echo "<div class='blue_text_header'>Information</div>"; 
  echo "<h1>"; 
  echo $row['Namn']; 
  echo "</h1>"; 

  echo "<br /><br /><br /><br /><br /><br /><br />"; 
  echo "<div class='red_text_header'>Obekräftade fall</div>"; 
  echo str_replace(',','<br />', $row['unconfirmed']); 

  echo "</div>"; 
  echo "<div class='content_right'>"; 

  echo "<div class='orange_text_header'>Andra namn</div>"; 
  echo str_replace(',','<br />', $row['Alias']); 

  echo "<br />"; 
  echo "<br /><br /><br /><br />"; 

  echo "<div class='green_text_header'>Bekräftade fall</div>"; 
  echo str_replace(',','<br />', $row['confirmed']); 
  } 

mysql_close($con);

正如你所看到的,是"SELECT * FROM characters WHERE namn = 'Jargon'“选择输出什么信息,我想让用户决定应该输出什么,所以我想要一个简单的搜索表单,如果人们写"hello”,我希望将"Jargon“替换为hello,如果你得到了?

如果可以的话,你能把搜索表单和post.php文件都给我吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-04 02:57:39

将第一行更改为以下内容:

代码语言:javascript
复制
if (!isset($_GET['name']) { // Handle a missing name variable in some way 
    // (if you like you can even include the form on this page itself, allowing 
    //  the page to submit data back to itself, with this isset() check
    //  determining whether to show the form or process the form)
    print "You must enter a name";
    exit;
}
$result = mysql_query("SELECT * FROM characters WHERE namn = '".mysql_real_escape_string($name)."'");

...and添加这样一个表单:

代码语言:javascript
复制
<form action="post.php" method="get">
<label for="name">Name</label><input name="name" id="name"/>
<input type="submit"/>
</form>
票数 0
EN

Stack Overflow用户

发布于 2011-06-04 02:57:43

代码语言:javascript
复制
$input_clean = mysql_real_escape_string($input);
$result = mysql_query("SELECT * FROM characters WHERE namn LIKE '%$input_clean%'"); 

如果$input = "hello",你会得到类似于"hello","hello world",“我说hello”等的结果,但你不会得到像"hi bob“这样的结果。再加上brettz9对HTML表单的回答,你就得到了一个搜索程序。

票数 1
EN

Stack Overflow用户

发布于 2011-06-04 02:56:45

您可能希望动态构建查询字符串,例如使用mysql_query(sprintf("SELECT * FROM characters WHERE namn = '%s'",mysql_real_escape_string($myInputVar)));构建您的查询。只需确保您正确地转义了用户使用mysql_escape_string提供的输入,这样您就不会受到SQL注入攻击!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6231387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档