Heim > Artikel > Backend-Entwicklung > PHP-Abfrage und Abfrage mit mehreren Bedingungen
Einzelne Bedingungsabfrage:
1. Zuerst muss eine Tabelle vorhanden sein, um die Daten in der Tabelle anzuzeigen:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <table border="1" cellspacing="0" cellpadding="0"> <tr> <td width="200">编号</td> <td width="200">姓名</td> <td width="200">电话</td> <td width="200" >分组</td> </tr> <?php $db = new mysqli("localhost","root","12345678","heiheihei"); $sql = "select * from contacts"; $r = $db->query($sql); //传值 while ($attr = $r->fetch_row()) { echo " <tr> <td>{$attr[0]}</td> <td>{$attr[1]}</td> <td>{$attr[2]}</td> <td>{$attr[3]}</td> </tr>"; } ?> </table> </body> </html>
Bild oben:
Eine Tabelle ohne Änderungen
2. Lassen Sie den Benutzer eine andere Frage aus dem Formular eingeben und klicken:
<form action="shouye.php" method="post"> <p> 输入名字:<input type="text" name="name"/> <input type="submit" value="查询"/> </p> </form>
Wie im Bild gezeigt:
3. Erstellen Sie eine Schlüsselwortabfrage:
<?php //实现两个逻辑 //1.如果没有post数据.查所有的 //2.如果有post数据.根据条件查 $db = new mysqli("localhost","root","12345678","heiheihei"); //连接数据库 $tj = " 1 = 1 "; $name=""; //恒成立,如果没有写数据,那就让条件等于1=1,这个条件是查找所有的数据 //如果你写入数据,按照数据查 if(!empty($_POST)) { $name = $_POST['name']; $tj = " name like '%{$name}%'"; } //将条件拼接到SQl语句 $sql = "select * from contacts WHERE {$tj}"; echo $sql; //查出来 $r = $db->query($sql); //传值 if($r) //开始判断 { //$attr已经接收到了值,现在只需要获取他的索引就行了 while ($attr = $r->fetch_row()) { //关键字特殊查询 $str = str_replace($name,"<mark>{$name}</mark>",$attr[1]); //查找替换如ctrl+f //substr_replace(); 在指定位置替换 //substr(); 截取字符串 $gname = "select gname from groups WHERE gid='{$attr[3]}'"; //分组表中的gid,和我点击的 $nresult = $db->query($gname); $gname = $nresult->fetch_row(); $nation = $gname[0]; echo " <tr> <td>{$attr[0]}</td> <td>{$str}</td> <td>{$attr[2]}</td> <td>{$nation}</td> ?>
Bild:
Mehrbedingungsabfrage:
Die Vorderseite ist wie gewohnt;
Die PHP-Anweisung ist da:
<?php //实现两个逻辑 //1.如果没有post数据.查所有的 //2.如果有post数据.根据条件查 $db = new mysqli("localhost","root","12345678","heiheihei"); //连接数据库 $tj1 = " 1 = 1 "; $tj2 = " 1 = 1 ";//两个条件的恒等 $name=""; //恒成立,如果没有写数据,那就让条件等于1=1,这个条件是查找所有的数据 //如果你写入数据,按照数据查 if(!empty($_POST["name"])) //第一个条件的判断(用到了模糊查询) { $name = $_POST['name']; $tj1 = " name like '%{$name}%'"; } if(!empty($_POST["tel"])) { $tel = $_POST["tel"]; $tj2 = "tel = '$tel'"; } //将条件拼接到SQl语句 $sql = "select * from contacts WHERE {$tj1} AND {$tj2}";
Rendering:
Auf diese Weise: Wenn mehrere Bedingungen vorhanden sind, erstellen Sie mehrere Bedingungsvariablen. Die erste Bedingung wird ausgeführt, wenn die erste Bedingung nicht leer ist, und die zweite Bedingung Die zweite Bedingung, wenn beide leer sind, besteht darin, nach allen Daten zu suchen
Weitere Artikel zu PHP-Abfragen und Abfragen mit mehreren Bedingungen finden Sie auf der chinesischen PHP-Website!