<?php include('include/config.php');include('include/dbclass.php');session_start();$db = db::getInstance(); // $db->check_user_login(); //检查用户是否登录$db->createcon(); //建立连接// $user=$_SESSION["user"];$user = "libero"; //测试临时使用// 执行 user数据表 选取user数据$sql_user = "select * from user where user = '$user'";$user_array = $db->fetch_array($sql_user);// 执行 yytable 数据 获取 yytable 所有数据$sql_yytable = "select * from yytable where uid = '$user_array[0]'";echo "<table border = '1'>" ;while($yytable_array = $db->fetch_array($sql_yytable)){ echo "<tr>"; echo "<td>".$yytable_array[0]."</td>"; echo "<td>".$yytable_array[1]."</td>"; echo "<td>".$yytable_array[2]."</td>"; echo "<td>".$yytable_array[3]."</td>"; echo "<td>".$yytable_array[4]."</td>"; echo "<td>".$yytable_array[5]."</td>"; echo "</tr>"; }echo "</table>";//dbclass<?php class db{ private static $dbhost = "localhost"; private static $dbuser = "root"; private static $password = ""; private static $dbname = "yy"; private static $instance = NULL; // 构造函数 private function _construct(){} // 实例化 public static function getInstance(){ if (self::$instance == null){ self::$instance = new db(); } return self::$instance; } //连接数据库 public function mycon(){ @mysql_connetc(self::$dbhost,self::$dbuser,self::$password); } //选择数据库 public function selectdb(){ $mysql_select_db(self::$dbname); } //创建连接 连接数据库 public function createcon(){ mysql_connect(self::$dbhost,self::$dbuser,self::$password); mysql_select_db(self::$dbname); } // 根据查询条件获取 $sql 结果集 public function fetch_array($sql){ if($result = $this->query($sql)) { $rs = mysql_fetch_array($result, MYSQL_BOTH); return $rs; } else { echo "数据查询失败"; } } // 数据库查询执行语句 public function query($sql){ mysql_query("set names utf8"); return mysql_query($sql); } // loop 更具结果集 获取数组 public function loop_query($result){ return mysql_fetch_array($result); } //关闭数据库连接 public function close(){ return mysql_close(); } } } ?>
while($yytable_array = $db->fetch_array($sql_yytable))
public function fetch_array($sql){
if($result = $this->query($sql)) { // while を使用した後、この判定は常に真実なので、それは無限のループ$ rs = mysql_fetch_array($ result、mysql_both)になります。 クエリを実行してすべての結果を返す別の fetch_all メソッドを作成する必要があります
while($yytable_array = $db->fetch_array($sql_yytable)){
クエリ $db->fetch_array($sql_yytable) を常に実行し、常に返します最初の結果
あなたの fetch_array メソッドは 1 つのレコードをクエリするためにのみ使用できます
クエリを実行してすべての結果を返すには、別の fetch_all メソッドを作成する必要があります。他のすべての結果をループアウトします。指定してください。
// クエリ条件に基づいて $sql 結果セットを取得します
if($result = $this->query($sql)) { / / whileを使った後は常にこの判定が真になるので $ rs = MySQL_FETCH_ARRAY ($ Result, MySQL_BOTH); クエリ条件に一致する結果を全て出力したい
public function fetch_all($sql){ if($result = $this->query($sql)) { while($r = mysql_fetch_array($result, MYSQL_BOTH)) { $res[] = $r; } return $res; } else { echo "数据查询失败"; } }