ホームページ > バックエンド開発 > PHPチュートリアル > クエリコードは複数の場所で使用できますか?

クエリコードは複数の場所で使用できますか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 13:59:12
オリジナル
1006 人が閲覧しました


$bliang='这是个变量'$sql=SELECT * FROM A表 WHERE cart LIKE '%.$bliang.%'$query=mysql_query($sql);while($row=mysql_fetch_array($query)){   …………}
ログイン後にコピー


これを使用するときは、次のようにするだけで、コンテンツを 2 に分類できます。

$row[$bliang='Category 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;}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー


参考 クラスとして記述できます 関数として記述できます...


モデレーターがもう少しコードを提供してもらえますか? 。私は初心者でクレジットの使い方があまり得意ではありません。 。あなたのものはクエリメソッドのようですが、結果を出力するときはどうすればよいですか?ファイルをインクルードしてから foo メソッドを呼び出す必要がありますか? return は $query を返すことを意味します

これは関数として書かれています。私は PHP を学習したばかりです。すべてのデータベース操作はここにあります

function foo($x){global $con;$sql=SELECT * FROM A表 WHERE cart LIKE '%.$x.%'mysql_query($sql,$con);// some codereturn $query;}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

呼び出しメソッドは次のとおりです。

<?php// | PHP version 5.3// 数据库操作类 Order by phuai007 // Date 2014/2class my_sql {  public $dsn = 'mysql:host=localhost;dbname=lif2';//host为数据库连接地址,dbname为数据库名  public $user = 'root';                           //数据库连接用户名  public $pass = '123456';                         //对应的密码  public $names = 'SET NAMES UTF8';                //数据库查询编码  //查询数据库返回结果  public function sql_select($sql) {	  try {		  $dbh = new PDO($this->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();	  }  }      ////////}?>
ログイン後にコピー


リファレンス クラスとして記述できます 関数として記述できます...

モデレーターがもう少しコードを提供してもらえますか? 。私は初心者でクレジットの使い方があまり得意ではありません。 。あなたのものはクエリメソッドのようです。結果を出力するときはどうすればよいですか?


PHP を学習したばかりです。すべてのデータベース操作はここにあります

これが私が言いたいことです


以上がコードです。必要な場合のみ使用してください

カテゴリ 1 - コンテンツ 1 - 5

カテゴリ 2 - 内容 2 - 7

上記のコードは決してそのようには書かれていません

PHP を学習したばかりです。参考までに、すべてのデータベース操作はここにあります

これが私が言いたいことです

<?phpinclude './conn.php';$mysql = new my_sql;if($_REQUEST["action"] == 'del'){if($_REQUEST['id']!= ''){//$mysql->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);//参数化查询操作}}//读取数据库?><div id="main" class="table_div_1280">  <div style="display:block" id="info">    <form id="form2" name="form2" action="?action=delCheck" method="post">      <table>        <tr id="title">          <td>编号</td>          <td>ID</td>          <td>姓名</td>          <td>性别</td>          <td>电话</td>          <td>QQ</td>          <td>地址</td>          <td>email</td>          <td>删除</td>          <td>选择</td>        </tr>        <?php		$aa=$mysql->sql_select('SELECT * FROM user_type order by user_id');        foreach ($aa as $row)        {//输出内容echo '<tr>';echo '<td>'.$row['user_id'].'</td><td>'.$row['user_name'].'</td><td>'.$row['user_real_name'].'</td><td>'.$row['user_sex'].'</td><td>'.$row['user_tel'].'</td><td>'.$row['user_qq'].'</td><td>'.$row['user_address'].'</td><td>'.$row['user_email'].'</td><td><a href="?action=del&id='.$row['user_id'].'" title="删除">删除</a></td><td><input name="delAll[]" class="c" type="checkbox" value="'.$row['user_id'].'" /></td>';echo '</tr>';}?>        <tr>          <td colspan="7"></td>          <td colspan="2"><input type="button" onclick="check(0)" value="全选"/>                           <input type="button" onclick="check(1)" value="反选"/>                           <input type="button" onclick="check(2)" value="清空"/></td>          <td><input type="button" onClick="delall()"  value="删除所选" /></td>        </tr>      </table>    </form>  </div>  <?php  $dbh = null;?>
ログイン後にコピー

上記はコードです それから、私がそれを使用するとき、必要なのは

カテゴリ 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;}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー


$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'].";}
ログイン後にコピー
ログイン後にコピー

参照 クラスとして記述できます 関数として記述できます...


$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'].";}
ログイン後にコピー
ログイン後にコピー

それがコードです

次に、ページを呼び出します。呼び出すときは、 と言うだけです


そして、ページを呼び出すときは、 要求は反人間的です... 関数内にすべての形式を書きたいですか? それも反人間的な設計です
なので、独自の書き方に従って関数を使用するのをやめるべきだと思います。

関数は理解できましたか? 残りはデータをループして必要なものに接続するだけではないでしょうか?この場所に慣れていない場合は、最初に返されたデータ構造を理解することをお勧めします...
何と言うかわかりません

他の問題を見つけて偶然これを解決し、それをマークするために戻ってきました。ちなみに、解決策を投稿します

function foo($x){global $con;$sql=SELECT * FROM A表 WHERE cart LIKE '%.$x.%'mysql_query($sql,$con);// some codereturn $query;}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー


はは、以上です

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート