用字母搜索PHP


PHP search with letter

我是php的初学者,我需要一些帮助。我有这个学校作业,我需要在医院的网站上有字母表,当点击他们开头的字母时,所有咨询都需要出现。

我只尝试了字母"a",但我不起作用。我相信这真的很容易,但我在网上搜索了一段时间,找不到任何东西。

我很感激我能得到的任何帮助。

提前谢谢。

附言我的母语显然不是英语。

<HTML>
    <HEAD>
        <TITLE></TITLE>
    </HEAD>
<BODY>
    <p><a href="" name="searchCons">A </a>
    <a href="">B </a><a href="">C </a><a href="D"></a>
    <a href="">D </a><a href="">E </a><a href="">F </a>
    <a href="">G </a><a href="">H </a><a href="">I </a>
    <a href="">J </a><a href="">K </a><a href="">L </a>
    <a href="">M </a><a href="">N </a><a href="">O </a>
    <a href="">P </a><a href="">Q </a><a href="">R </a>
    <a href="">S </a><a href="">T </a><a href="">U </a>
    <a href="">V </a><a href="">W </a><a href="">X </a>
    <a href="">Y </a><a href="">Z </a><a href="">Everything</a></p>
    <?php
    if(isset($_POST['toon']))
    {
      include('dbconnect.php');
      if(!empty($_POST['searchCons']))
      {
        $type  = $_POST['searchCons'];
        $query = "SELECT * FROM consultaties WHERE Naam LIKE '%A%'";
        $res   = mysql_query($query,$cn) or die('Uitvoeren query mislukt');
        $count = mysql_num_rows($query);
        while($rij=mysql_fetch_array($res))
        echo $rij['Naam']."<BR>";    
       } 
      mysql_close($cn);
    }
    ?>
    </BODY>
</HTML>

像这样写你的链接:

<a href="?searchCons=A">A</a>

不要使用 POST,而是使用 GET:

$_GET['searchCons']

您现在将一个变量分配给 GET 数组并在查询中使用它:

$search = $_GET['searchCons'];

并在您的查询中:

WHERE Naam LIKE '%$search%'";

但是,这会让您对 SQL 注入持开放态度。因此,您需要转义该数据。

即:

$search = mysql_real_escape_string($_GET['searchCons']);

旁注问题:$_POST['toon']做什么?如果我正确理解您的代码,您可以删除该if语句。

POST 适用于表单。由于您在代码中没有使用任何形式,因此您应该使用 GET。GET也适用于表单,但有一种方法可以克服这一点,因为GET在链接中发送数据。

因此,您应该将链接更改为:

<a href="#"></a> 

(将#更改为filename.php?searchCons=A

因此,您的代码应如下所示:

<?php

      include('dbconnect.php');
      if(!empty($_GET['searchCons']))
      {
        $type  = $_GET['searchCons'];
        $query = "SELECT * FROM consultaties WHERE Naam LIKE '%A%'";
        $res   = mysql_query($query,$cn) or die('Uitvoeren query mislukt');
        $count = mysql_num_rows($query);
        while($rij=mysql_fetch_array($res))
        echo $rij['Naam']."<BR>";    
       } 
      mysql_close($cn);

    ?>

<HTML>
<HEAD><TITLE></TITLE></HEAD>
<BODY>
      <a href="?searchCons=A" >A </a>
      <a href="?searchCons=B">B </a>
      <a href="?searchCons=C">C </a>
</BODY>
</HTML>

检查以下可能对您有帮助的链接http://www.w3schools.com/php/php_ajax_livesearch.asp

检查链接