//在WEB中PHPfunction getdata($conn, $query, $params = array()){
$r = array();
$h = pg_prepare($conn, "mquery", $query);
$h = pg_execute($conn, "mquery", $params);
while($v = pg_fetch_array($h, NULL, PGSQL_ASSOC)){
$r[] = $v;
}
return $r;
}function insdata($conn, $query, $params = array()){
$h = pg_prepare($conn, "iquery", $query);
$h = pg_execute($conn, "iquery", $params);
return $h;
}if(isset( $_POST['mod'])){
if($_POST['mod'] == "search"){
$l = "%" . $_POST['q'] . "%";
$params = array();
$params[] = $l;
$q = "SELECT * FROM ingrediente ";
$q .= "WHERE nome ILIKE $1";
//$q .= "WHERE nome ILIKE $1";
$data = getdata($db,$q,$params);
}
if($_POST['mod'] == "ins"){
$values = $_POST['v'];
$q = "INSERT INTO ingrediente VALUES($1, $2)";
insdata($db,$q,$values);
$data = getdata($db,"SELECT * FROM ingrediente");
}
}else{
$data = getdata($db,"SELECT * FROM ingrediente");
}$1";/*
如果我想要多个条件联合一起搜索怎么办呢?
$q = "SELECT * FROM ingrediente ";
$q .= "WHERE nome ILIKE $1";
这里只有一个搜索条件,我想再增加的话应该怎样修改代码?比如 and Type="xxx"
*/
$r = array();
$h = pg_prepare($conn, "mquery", $query);
$h = pg_execute($conn, "mquery", $params);
while($v = pg_fetch_array($h, NULL, PGSQL_ASSOC)){
$r[] = $v;
}
return $r;
}function insdata($conn, $query, $params = array()){
$h = pg_prepare($conn, "iquery", $query);
$h = pg_execute($conn, "iquery", $params);
return $h;
}if(isset( $_POST['mod'])){
if($_POST['mod'] == "search"){
$l = "%" . $_POST['q'] . "%";
$params = array();
$params[] = $l;
$q = "SELECT * FROM ingrediente ";
$q .= "WHERE nome ILIKE $1";
//$q .= "WHERE nome ILIKE $1";
$data = getdata($db,$q,$params);
}
if($_POST['mod'] == "ins"){
$values = $_POST['v'];
$q = "INSERT INTO ingrediente VALUES($1, $2)";
insdata($db,$q,$values);
$data = getdata($db,"SELECT * FROM ingrediente");
}
}else{
$data = getdata($db,"SELECT * FROM ingrediente");
}$1";/*
如果我想要多个条件联合一起搜索怎么办呢?
$q = "SELECT * FROM ingrediente ";
$q .= "WHERE nome ILIKE $1";
这里只有一个搜索条件,我想再增加的话应该怎样修改代码?比如 and Type="xxx"
*/
if (isset($_POST['t'])){
$Type=$_POST['t'];//注意提交 t 类型
$TSQL =" AND `Type`='{$Type}'";
}else{
$TSQL='';
}
//$q .= "WHERE nome ILIKE $1"; 下添加
$q.=$TSQL;
$db = pg_connect($conn_string);
//$q = "SELECT * FROM ingrediente "; $params = array(); $params[] = $l;
function getdata($conn, $query, $params = array()){
$r = array();
$h = pg_prepare($conn, "mquery", $query);
$h = pg_execute($conn, "mquery", $params);
while($v = pg_fetch_array($h, NULL, PGSQL_ASSOC)){
$r[] = $v;
}
return $r;
}
print "<form method=POST action=visu.php>";
print "<input type=text name=q />";
//我加的
print "<input type=text name=t />";print "<input type=hidden name=mod value=search />";
print "<input type=submit value=cerca />";
print "</form>";
print "</center>";print "<table>";
print "<th>Nome</th><th>Descrizione</th>";
if(isset( $_POST['mod'])){
if($_POST['mod'] == "search"){
$l = "%" . $_POST['q'] . "%";
//aggiunge
if (isset($_POST['t'])){
$Type=$_POST['t'];//注意提交 t 类型
$TSQL =" AND tipo='{$Type}'";
}else{
$TSQL='';
}
$params = array();
$params[] = $l;
$q = "SELECT * FROM ingrediente ";
$q .= "WHERE nome ILIKE $1";
//$q .= "WHERE nome ILIKE $1"; 下添加
$q.=$TSQL;
$data = getdata($db,$q,$params);
}为什么没有效果呢?表单中Ingrediente实体中有nome,tipo属性,有一条数据是nome=limone,tipo=condimenti
为什么没有效果呢