2016-12-17 21 views
0

私は、ユーザー情報(主に名前と年齢)を表示するWebサイトを持ち、データベースからすべてのレコードをフェッチする方法を知りたいとします。SQLのレコードを最も効率的にフェッチする方法

私はちょうどDBMSを学び始め、ここでは、コード

<?php  
    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $dbname = "simple_login"; 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
    } 
    $sql = "SELECT name,age from `members`"; 
    $result = $conn->query($sql);   
    for($i=1;$i<6;$i++) 
    { 
    if ($result->num_rows > 0) { 
    $row = $result->fetch_assoc(); 
    $name=$row['name']; 
    $age=$row['age']; 
    ?> 
    <div class="container"> 
     <h4>Name : <? echo $name; ?></h4> 
     <h4>Age : <? echo $age; ?></h4> 
    </div> 

の私の第一部分ですが、私はそれはレコードを取得し、表示するための最良の方法であるかどうかわからないけど。 これ以外にも、同じ情報を別のページに表示したい場合は、毎回これを何度も何度もコピーする必要がありますか?

+0

sidenote:それがあなたの完全な/実際のコードならば、いくつかの中括弧 '}'がありません。 –

+0

それはちょうどある程度のレコードを表示するだけです。 –

+0

@ Fred-ii-しかし私の完全なコードではなく、それだけの部分 –

答えて

1

を複数回実行すると、すべてのレコードを照会してから6を使用するだけでは効率的ではありません。戻り値を確認した後にフェッチをループし、limitを照会します。あなたが行うことができます他のページにこのアプローチで

$limit = empty($limit) ? 6 : (int) $limit; 
$sql = "SELECT name,age from `members` limit $limit"; 
$result = $conn->query($sql);   
if ($result->num_rows > 0) { 
    while ($row = $result->fetch_assoc()) { 

<?php 
$limit = 10; 
include 'my_member_script.php'; 

れますが、出力10人のメンバー。

+0

ありがとうたくさんの仲間! –

関連する問題