Home >Backend Development >PHP Tutorial >php的查询功能(如何通过查询条件获取相应表的字段)

php的查询功能(如何通过查询条件获取相应表的字段)

WBOY
WBOYOriginal
2016-06-23 13:54:231655browse

<?php//获得连接$db = mysql_connect("localhost", "root", "root") or die(mysql_error());//echo "Connected to MySQL<br/>";//连接数据库mysql_select_db("test") or die(mysql_error());//echo "Connected to Database";    //查询数据,并用表格显示出来  	@$checked = $_POST['checked'];	@$result = mysql_query("select * from books",$db);    echo "<table border=1>\n";                                          echo "<tr>	         <td>isbn</td>			 <td>author</td>			 <td>title</td>			 <td>price</td>			 ";                                                         echo "</tr>\n";                                                     //循环遍历                                                                while ($myrow = mysql_fetch_row($result)){ 	          printf("<tr>			               <td>%s</td>						   <td>%s</td>						   <td>%s</td>						   <td>%s</td>", $myrow[0], $myrow[1],$myrow[2],$myrow[3]);            }                                                                        echo "</table>\n";?><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><body><form action="" name=""><br/>  <br/>   <input type="button" value="查询" name="submit"/>   <input type="text" name="checked"/></form></body></html>


回复讨论(解决方案)

请描述下你遇到的问题

result = mysql_query("select * from books where checked=‘$checked’ ");

比如输入要查询的isbn号,然后确定,在下方输出符合条件的查询结果。

result = mysql_query("select * from books where checked=‘$checked’ ");这个我试了一下,出现以下错误
还有一个问题要请教是如何是要先查询之后才显示表要显示的结果。 

... where 字段='$checked'     //字段换成你实际的字段

if(isset($_POST['checked'])){
@$result = mysql_query("select * from books",$db);
    echo "

\n";                                      
    echo "
             
             
             
             
             ";                                                     
    echo "\n";                                                 
    //循环遍历                                                          
      while ($myrow = mysql_fetch_row($result)){ 
              printf("
                           
                           
                           
                           ", $myrow[0], $myrow[1],$myrow[2],$myrow[3]);
            }                                                               
         echo "
isbn author title price
%s %s %s %s
\n";
}

谢谢jordan102,那请问如何通过查询条件,然后在同个页面下输出符合查询条件的表呢?
这是我的表

我试了jordan102的代码,也不知道我添加if(isset($_POST['checked'])){.......}这段代码的位置对不对。
我按了下查询的按钮,但是没反应。代码如下

<?php//获得连接$db = mysql_connect("localhost", "root", "root") or die(mysql_error());//echo "Connected to MySQL<br/>";//连接数据库mysql_select_db("test") or die(mysql_error());//echo "Connected to Database";    //查询数据,并用表格显示出来  	@$checked = $_POST['checked'];//	@$result = mysql_query("select * from books",$db);//	@$result = mysql_query("select * from books where isbn='$checked' ");     if(isset($_POST['checked'])){    @$result = mysql_query("select * from books",$db);    echo "<table border=1>\n";                                          echo "<tr>             <td>isbn</td>             <td>author</td>             <td>title</td>             <td>price</td>             ";                                                         echo "</tr>\n";                                                     //循环遍历                                                                while ($myrow = mysql_fetch_row($result)){               printf("<tr>                           <td>%s</td>                           <td>%s</td>                           <td>%s</td>                           <td>%s</td>", $myrow[0], $myrow[1],$myrow[2],$myrow[3]);            }                                                                        echo "</table>\n";} ?><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><body><form action="" name=""><br/>  <br/>   <input type="button" value="查询" name="submit"/>   <input type="text" name="checked"/></form></body></html>

@$result = mysql_query("select * from books where isbn='$checked'",$db);

@jordan102我试了下@$result = mysql_query("select * from books where isbn='$checked'",$db); 但是点了按钮还是不行。

这句我试了,但是我输入books的isbn到输入框的时候,点击查询,还是查不到isbn=1的对应的全部内容。

只出来一部分数据,那你检查下没查出来的数据哪里不同。

$result = mysql_query("select * from books",$db);
条件都不加,还算是条件查询吗?

我运行之后没有数据表显示,显示结果如下:
会不会是那些字段没对应呢?

回复xuzuning,不好意思!忘了加。

没有符合条件的记录,自然列表就是空的


回复Jordan120,还是没有表显示。

回复xuzuning,请问这句不是@$result = mysql_query("select * from books where isbn='$checked'",$db);通过查询isbn的编号然后判断符合条件的来输出表。

表头也没有显示吗? 

回复Jordan02:没有显示

现在的代码是如何写的,贴出来看看。

<?php//获得连接$db = mysql_connect("localhost", "root", "root") or die(mysql_error());//echo "Connected to MySQL<br/>";//连接数据库mysql_select_db("test") or die(mysql_error());//echo "Connected to Database";    //查询数据,并用表格显示出来  //	@$checked = $_POST['checked'];//	@$result = mysql_query("select * from books",$db);//	@$result = mysql_query("select * from books where isbn='$checked' ");     if(isset($_POST['checked'])){    @$result = mysql_query("select * from books where isbn='$checked'",$db);    echo "<table border=1>\n";                                          echo "<tr>             <td>isbn</td>             <td>author</td>             <td>title</td>             <td>price</td>             ";                                                         echo "</tr>\n";                                                     //循环遍历                                                                while ($myrow = mysql_fetch_row($result)){               printf("<tr>                           <td>%s</td>                           <td>%s</td>                           <td>%s</td>                           <td>%s</td>", $myrow[0], $myrow[1],$myrow[2],$myrow[3]);            }                                                                        echo "</table>\n";} ?><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><body><form action="" name="post"><br/>  <br/>   <input type="submit" value="查询" name="submit"/>   <input type="text" name="checked"/></form></body></html>

@$result = mysql_query("select * from books where isbn=' $checked'",$db);
在哪里赋值的???

嗦嘎,我在#18标红了你还抄错。

//获得连接
$db = mysql_connect("localhost", "root", "rDSzPnhnDJCAHYuj") or die(mysql_error());
//echo "Connected to MySQL
";
//连接数据库
mysql_select_db("test") or die(mysql_error());
//echo "Connected to Database";

//查询数据,并用表格显示出来
//    @$checked = $_POST['checked'];
//    @$result = mysql_query("select * from books",$db);
//    @$result = mysql_query("select * from books where isbn='$checked' ");
if(isset($_POST['checked'])){
     $checked=$_POST['checked'];
    @$result = mysql_query("select * from books where isbn='$checked'",$db);
    echo "

\n";
    echo "
             
             
             
             
             ";
    echo "\n";
    //循环遍历
    while ($myrow = mysql_fetch_row($result)){
        printf("
                           
                           
                           
                           ", $myrow[0], $myrow[1],$myrow[2],$myrow[3]);
    }
    echo "
isbn author title price
%s %s %s %s
\n";
}
?>


    
    无标题文档




    

    
    


//获得连接
$db = mysql_connect("localhost", "root", "root") or die(mysql_error());
//echo "Connected to MySQL
";
//连接数据库
mysql_select_db("test") or die(mysql_error());
//echo "Connected to Database";

//查询数据,并用表格显示出来
//    @$checked = $_POST['checked'];
//    @$result = mysql_query("select * from books",$db);
//    @$result = mysql_query("select * from books where isbn='$checked' ");
if(isset($_POST['checked'])){
    $checked=$_POST['checked'];
    @$result = mysql_query("select * from books where isbn='$checked'",$db);
    echo "

\n";
    echo "
             
             
             
             
             ";
    echo "\n";
    //循环遍历
    while ($myrow = mysql_fetch_row($result)){
        printf("
                           
                           
                           
                           ", $myrow[0], $myrow[1],$myrow[2],$myrow[3]);
    }
    echo "
isbn author title price
%s %s %s %s
\n";
}
?>


    
    无标题文档




    

    
    


回复qxhaidao、jordan102:折腾了两位一个下午,qxhaidao的代码运行成功,jordan那个只显示了表头。我会给两位加分的,实在谢谢了!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn