2016-05-09 1 views

答えて

1

使用ORDER BY COLUMN_NAMEため、デフォルトの順序は昇順ですため。

ボーダー付きのテーブル構造を適用する場合は<table border=1>を使用してください。

下記のコードを試してください。

<html> 
    <head> 
    </head> 
    <body> 

     <?php 
      $options = array(
       PDO::MYSQL_ATTR_INIT_COMMAND=> 'SET NAMES utf8', 

      ); 
      $dsn  = 'mysql:host=localhost;dbname=username'; 
      $password = 'password'; 
      $username = 'username'; 
      $db   = new PDO($dsn, $username, $password, $options); 

      $query = "SELECT * FROM customers ORDER BY name"; 
      $stmt = $db->prepare($query); 
      $stmt->execute(); 

      echo "<table border=1>"; 
      echo "<tr>"; 
      echo "<th>Customer ID</th>"; 
      echo "<th>Name</th>"; 
      echo "</tr>"; 

      while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
      { 
       echo "<tr>"; 
       $id   =$row['customerid']; 
       $name  =$row['name']; 
       echo "<td>Customer ID: $customerid</td>"; 
       echo "<td>Name: $name</td>"; 
       echo "</tr>"; 
      } 
      echo "</table>"; 
     ?>  
     </body> 
     </html> 
+0

ありがとう、これは完璧です!あなたは私を救った: – Jake

1

顧客IDと名前を表形式で表示しますか?

これを試してみてください:

<table border="1"> 

<tr> 
    <th>Customer ID</th> 
    <th>Name</th> 
</tr> 

<?php 
    $options = array(
     PDO::MYSQL_ATTR_INIT_COMMAND=> 'SET NAMES utf8', 

    ); 

    /*Other code*/ 

    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
?> 
<tr> 
    <td><?php echo $row['customerid']; ?> </td> 
    <td><?php echo $row['name'] ?> </td> 
</tr> 
<?php } ?> 

</table> 
+0

の終わりがありません。 :) – RJParikh

+0

うん、私は今それを修正しました。ありがとう! :) –

+0

答えをありがとう:D – Jake

0

あなたはので、私は名前

の順序によってデータが必要 あなたは

この

$query = "SELECT * FROM customers"; 

を交換することを前提と必要なため、どのような説明していませんでした

$query = "SELECT * FROM customers order by name"; 

ここにある名前はテーブルの列です。

+0

はい、申し訳ありませんが、私はこの粗悪なことで本当に苦労しています。 – Jake

0

この$stmt->fetchAll(PDO::FETCH_ASSOC)を使用するのは、fetch()はdbから1行しか返さないためです。

関連する問題