欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

一段查询代码多处使用可以吗

程序员文章站 2022-05-13 22:30:48
...
$bliang='这是个变量'$sql=SELECT * FROM A表 WHERE cart LIKE '%.$bliang.%'$query=mysql_query($sql);while($row=mysql_fetch_array($query)){   …………}


上边是查询代码 然后我使用它时 只需要这样 比如 $row[$bliang='分类2'] 这样就可以分类2下的内容

$row[$bliang='分类3'] 就显示分类3下的内容

这样的需求 要怎么样实现呢


回复讨论(解决方案)

function foo($x){global $con;$sql=SELECT * FROM A表 WHERE cart LIKE '%.$x.%'mysql_query($sql,$con);// some codereturn $query;}


参考 可写成类 可写成函数...

function foo($x){global $con;$sql=SELECT * FROM A表 WHERE cart LIKE '%.$x.%'mysql_query($sql,$con);// some codereturn $query;}


参考 可写成类 可写成函数...


版主大人可否稍微多给点代码。。 我小白 不太会用额。。 你的好像是查询的方法 输出结果时该怎么做呢

function foo($x){global $con;$sql=SELECT * FROM A表 WHERE cart LIKE '%.$x.%'mysql_query($sql,$con);// some codereturn $query;}


参考 可写成类 可写成函数... 同求我也不是很懂,是不是要include下文件然后调用foo方法?return表示返回$query

写成函数啊,我也是刚学php,我给你一个我自己做的类参考下吧,所有数据库操作都在这里了

dsn, $this->user, $this->pass);		  $dbh->query($this->names);		  return $dbh->query($sql);		  $dbh = null;	  }	  catch(Exception $e) {		  echo 'error: ' . $e->getMessage();	  }  }  //操作单条数据(更新/删除/插入),无返回结果  public function sql_one($sql) {	  try {		  $dbh = new PDO($this->dsn, $this->user, $this->pass);		  $dbh->exec($this->names);		  $dbh->exec($sql);		  $dbh = null;	  }	  catch(Exception $e) {		  echo 'error: ' . $e->getMessage();	  }  }  //操作多条数据(更新/删除),无返回结果  public function sql_more($sql, $str) {	  try {		  $dbh = new PDO($this->dsn, $this->user, $this->pass);		  $dbh->exec($this->names);		  foreach ($str as $arrs) {			  $dbh->exec($sql . $arrs);		  }		  $dbh = null;	  }	  catch(Exception $e) {		  echo 'error: ' . $e->getMessage();	  }  }    //参数化查询数据库返回结果(单条)  public function cs_sql_select($sql,$str) {	  try {		  $dbh = new PDO($this->dsn, $this->user, $this->pass);		  $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);		  $dbh->query($this->names);		  $stmt = $dbh->prepare($sql);		  $stmt->bindValue(":key", $str ,PDO::PARAM_INT);		  $stmt->execute();		  return $stmt;		  $dbh = null;	  }	  catch(Exception $e) {		  echo 'error: ' . $e->getMessage();	  }  }    //参数化查询操作多条数据(删除/更新),无返回结果  public function cs_sql_more($sql, $str) {	  try {		  $dbh = new PDO($this->dsn, $this->user, $this->pass);		  $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);		  $dbh->exec($this->names);		  foreach ($str as $arrs) {			  $stmt = $dbh->prepare($sql);			  $stmt->bindValue(":key", $arrs,PDO::PARAM_INT);			  $stmt->execute();		  }		  $dbh = null;	  }	  catch(Exception $e) {		  echo 'error: ' . $e->getMessage();	  }  }  //参数化查询操作单条数据(删除/更新),无返回结果  public function cs_sql_one($sql, $str) {	  try {		  $dbh = new PDO($this->dsn, $this->user, $this->pass);		  $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);		  $dbh->exec($this->names);		  $stmt = $dbh->prepare($sql);		  $stmt->bindValue(":key", $str,PDO::PARAM_INT);		  $stmt->execute();		  $dbh = null;	  }	  catch(Exception $e) {		  echo 'error: ' . $e->getMessage();	  }  }      ////////}?>

下面是调用方法:
sql_one("DELETE FROM `user_type` WHERE `user_id` = ".$_REQUEST['id']."");//无参数化查询操作$mysql->cs_sql_one("DELETE FROM `user_type` WHERE `user_id` = :key",$_REQUEST['id']);//参数化查询操作}else{echo '非法操作';}} //多选删除else if($_REQUEST["action"] == 'delCheck'){$id=$_POST['delAll'];if(isset($id)){//$mysql->sql_more("DELETE FROM `user_type` WHERE `user_id` = ",$id);//无参数化查询操作$mysql->cs_sql_more("DELETE FROM `user_type` WHERE `user_id` = :key",$id);//参数化查询操作}}//读取数据库?>
sql_select('SELECT * FROM user_type order by user_id'); foreach ($aa as $row) {//输出内容echo '';echo '';echo '';}?>
编号 ID 姓名 性别 电话 QQ 地址 email 删除 选择
'.$row['user_id'].' '.$row['user_name'].' '.$row['user_real_name'].' '.$row['user_sex'].' '.$row['user_tel'].' '.$row['user_qq'].' '.$row['user_address'].' '.$row['user_email'].' 删除


function foo($x){global $con;$sql=SELECT * FROM A表 WHERE cart LIKE '%.$x.%'mysql_query($sql,$con);// some codereturn $query;}


参考 可写成类 可写成函数...


版主大人可否稍微多给点代码。。 我小白 不太会用额。。 你的好像是查询的方法 输出结果时该怎么做呢 return就是输出。

写成函数啊,我也是刚学php,我给你一个我自己做的类参考下吧,所有数据库操作都在这里了

我是这样的意思

$b='这是个变量'$sql=SELECT * FROM A表 WHERE cart LIKE '%.$b.%'$query=mysql_query($sql);while($row=mysql_fetch_array($query)){    $new="$row['title']." - ".$row['con']." - ".$row['num'].";}


上面是代码 然后我用的时候只需要
分类1 - 内容1 - 5

分类2 - 内容2 - 7

我只是这么表达我想的那个意思 上面的代码肯定不是那么写的


写成函数啊,我也是刚学php,我给你一个我自己做的类参考下吧,所有数据库操作都在这里了

我是这样的意思

$b='这是个变量'$sql=SELECT * FROM A表 WHERE cart LIKE '%.$b.%'$query=mysql_query($sql);while($row=mysql_fetch_array($query)){    $new="$row['title']." - ".$row['con']." - ".$row['num'].";}


上面是代码 然后我用的时候只需要
分类1 - 内容1 - 5

分类2 - 内容2 - 7

我只是这么表达我想的那个意思 上面的代码肯定不是那么写的

就是将那查询数据库代码写成函数啊,直接带入变量b调用不久行了

$new="$row['title']." - ".$row['con']." - ".$row['num'].";
改写为
$new[$row['title']] = $row['title']." - ".$row['con']." - ".$row['num'];

function foo($x){global $con;$sql=SELECT * FROM A表 WHERE cart LIKE '%.$x.%'mysql_query($sql,$con);// some codereturn $query;}

function foo($x){global $con;$sql=SELECT * FROM A表 WHERE cart LIKE '%.$x.%'mysql_query($sql,$con);// some codereturn $query;}


参考 可写成类 可写成函数...

$tagxs_lx="select * from ".DB_MUSICDATA." left join ".DB_SINGER." on ".DB_MUSICDATA.".singer_id=".DB_SINGER.".singer_id left join ".DB_TAG." on ".DB_MUSICDATA.".tag_id=".DB_TAG.".tag_id and ".DB_TAG.".tag like '%标签1%' order by ".DB_MUSICDATA.".music_id desc limit 10";$query_lx=mysql_query($tagxs_lx);$num=0;$tag1="";while($row=mysql_fetch_array($query_lx)){$num++;if($row['singer_id']==""){$singer="";}else{$singer=''.$row['singer_name'].'';}	$tag1 .='
  • '.sprintf("%02d", $num).''.$row['music_name'].''.$singer.'加入播放列表
  • ';}

    就是这么个代码了

    然后我页面调用的时候 直接 就可以了

    然后我页面调用的时候 直接 就可以了

    取回的是数组 你这种需求反人类...难道你要在function里把格式都写好,那也是反人类设计.
    所以 我觉得你还是按照你原来的额写法写算了,别搞function了....

    function你能看懂 剩下的不就是循环出数据 拼接成你要的样子吗?这个地方也不熟悉的话 我建议你先弄清楚返回的数据结构...
    不知道怎么说了

    查找别的问题 偶然解决了这个, 回来做个标记 顺便吧解决方法贴上来留着

    function index($title,$limit){$text="select * from test wheretag like '%$title%' order by test.id desc limit $limit";    return $text;}echo index('条件','可以多个');


    呵呵 就是这样一段查询代码多处使用可以吗

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    相关文章

    相关视频