2016-04-28 17 views
0

mysqlからphpで書式化されたテーブルを生成していますが、何らかの理由でmy DateとCountの重複カラムが作成されています。なぜ誰かが私に起こっているのか理解するのに役立つことができますか?ありがとうmysqlデータを表示するときにカラムが重複する

<?php 

include("dbconnect.php"); 

$link=Connection(); 

$result = mysql_query(
         "SELECT Date, Count 
         FROM testLocation 
         WHERE Date 
         BETWEEN '2016-04-10 00:01:11' AND '2016-04-23 00:01:11'" 
         ,$link 
        ); 


    if($result!==FALSE){ 
     echo '<table cellpadding="0" cellspacing="0" class="db-table">'; 
     echo '<tr><th>Date</th><th>Count</th></tr>'; 
     while($row = mysql_fetch_array($result)) { 
       echo '<tr>'; 
       foreach($row as $key=>$value1){ 
       echo '<td>', $value1,'</td>'; 
       } 
       echo '<tr>'; 
     } 
     echo '</table><br />'; 
     mysql_free_result($result); 
     mysql_close(); 
     } 
?> 
+0

を。 – Blank

+0

こんにちはリノ、残念なことに、私はすでにそれを試み、それは動作しませんでした。 – amiao

+0

docs - ['mysql_fetch_array()'](http://php.net/manual/en/function.mysql-fetch-array.php) - * - 結果行を連想配列、数値配列として取得します、 または両方*。デフォルトは両方(つまり 'MYSQL_BOTH')なので、連想配列と数値配列の両方を取得しています。 while($ row = mysql_fetch_array($ result、MYSQL_NUM))while($ row = mysql_fetch_array($ result、MYSQL_ASSOC))while($ row = mysql_fetch_array ){' – Sean

答えて

0

まず最初にすべての、あなたはmysql_fetch_arrayを連想し、数字キーで配列を返すことを知っておく必要があり、あなたの問題のために、今、MySQLiをするようにコードを変更してみてください。 docsから:

もう行がない場合に取得された行に対応する文字列の配列を返し、又はFALSE。返される配列の型は、result_typeの定義方法によって異なります。 MYSQL_BOTH(デフォルト)を使用すると、連想インデックスと数値インデックスの両方を持つ配列が得られます。 MYSQL_ASSOCを使用すると、MYSQL_NUMを使用すると、(mysql_fetch_assoc()のように)連想インデックスのみが得られます。

ですから、これらの3つのオプションのいずれかを使用する必要があなたのループ内の重複データを避けるために:あなたのSQLで `DISTINCT`を使用してみてください

// The important part here is to set the result type eg: MYSQL_ASSOC or MYSQL_NUM. By defualt it is MYSQL_BOTH and thats your problem right now. 
$row = mysql_fetch_array($result, MYSQL_ASSOC | MYSQL_NUM); 

// Or this, it will return rows with associative indexes (keys are named after the column), eg: $row['Date'] 
$row = mysql_fetch_assoc($result); 

// Or this, it will return rows with numeric indexes, eg: $row[0] 
$row = mysql_fetch_row($result); 
関連する問題