2017-07-28 10 views
1

SQLクエリを実行してデータを返してからhtmlテーブルを作成するファイルがありますが、何らかの理由でデータベース内のsqlにデータが返されませんクエリはデータを返しますが、私のウェブサイトでは返しません。htmlテーブルにSQLデータを表示しようとしています

<?php 
      //run the query 
      $sql = "SELECT ID, topic_id, name, surveyid, questionid, longdesc, text, first_name , last_name , email 
        FROM polling_results WHERE 'topic_id' = '147796' 
        ORDER BY 'id, displayorder'"; 
      $result = mysql_query($sql); 
      //fetch the results 
      while ($row = mysql_fetch_array($result)) 
      { 
       //display the results 
       echo '<br /><table class="table table-bordered table-condensed">'; 
       echo '<thead><tr>'; 
       echo '<th>Name</th>'; 
       echo '<th>Email</th>'; 
       echo '<th>Question Text</th>'; 
       echo '<th>Answer</th>'; 
       echo '</tr></thead>'; 
       echo '<tbody><tr>'; 
       echo "<td>".$row['first_name']."</td>"; 
       echo "<td>".$row['email']."</td>"; 
       echo "<td>".$row['longdesc']."</td>"; 
       echo "<td>".$row['text']."</td>"; 
       echo '</tr></tbody></table>'; 
      } 
    ?> 

すべてのhelp guys/galsに感謝しています。

+0

mysqlのエラー?行変数のvar_dump()を試してください。代わりにmysql use mysqliを使用しないでください。 –

+2

'ORDER BY 'id、displayorder''から一重引用符を削除して、' ORDER BY id、displayorder' –

+0

これは出力されないvar_dump()ではありません。の名前などです。 whileステートメントに入ります –

答えて

0

は、あなたは以下のようにコードを変更する必要があります。 ためmysql_の* PHP 5.6から廃止されて以降ますので、* mysqli_を使用する必要があります。

次のようにDB接続を作成します。

<?php 
    // Create connection 
    $db_conn = mysqli_connect ($servername, $username, $password, $dbname); 
    // Check connection 
    if (! $db_conn) 
    { 
     die ("Connection failed: " . mysqli_connect_error()); 
    } 
?> 

そして今、あなたのコードを:

<?php 
      //run the query 
      $sql = "SELECT ID, topic_id, name, surveyid, questionid, longdesc, text, first_name , last_name , email 
        FROM polling_results WHERE 'topic_id' = '147796' 
        ORDER BY 'id, displayorder'"; 
      $result = mysqli_query($db_conn,$sql); 

      // Creating table format 

      echo '<br /><table class="table table-bordered table-condensed">'; 
       echo '<thead><tr>'; 
       echo '<th>Name</th>'; 
       echo '<th>Email</th>'; 
       echo '<th>Question Text</th>'; 
       echo '<th>Answer</th>'; 
       echo '</tr></thead>'; 
       echo '<tbody>'; 


      //fetch the results 
      while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) 
      { 
       //display the results 
       <tr>'; 
       echo "<td>".$row['first_name']."</td>"; 
       echo "<td>".$row['email']."</td>"; 
       echo "<td>".$row['longdesc']."</td>"; 
       echo "<td>".$row['text']."</td>"; 
       echo '</tr>'; 
      } 
      echo '</tbody></table>'; 
      // display data end. 
    ?> 

あなたが直面するすべての問題は、私に知らせてください場合。

0

それは$結果をエコーし​​ようと動作するかどうか、あなたが

あなたのクエリをクエリ'topic_id'から引用符を削除し、ORDER BY 'id, displayorder'

+0

私は$ sqlをエコーし​​ます;これは、SELECT ID、topic_id、name、surveyid、questionid、longdesc、text、first_name、last_name、emailからvw_polling_results FROM vw_polling_resultsを出力しますwhere 'topic_id' = '147796' ORDER BY id、displayorder –

+0

あなたはtopic_id = 147796 'とid、displayorder ..引用符を削除してみてください。 – Jok3r

0

.. .. $ sqlをエコーし​​、データが存在かではありませんしようとしてみてください:

$sql = "SELECT ID, topic_id, name, surveyid, questionid, longdesc, text, first_name , last_name , email 
        FROM polling_results WHERE 'topic_id' = '147796' 
        ORDER BY 'id, displayorder'" 

編集クエリ:

$sql = "SELECT ID, topic_id, name, surveyid, questionid, longdesc, text, first_name , last_name , email 
        FROM polling_results WHERE topic_id = '147796' 
       ORDER BY id, displayorder" 
1

あなたはDBへの接続を開いていますか? mysqlの代わりにmysqliを使うことをお勧めします。

// Create connection 
$conn = mysqli_connect ($servername, $username, $password, $dbname); 
// Check connection 
if (! $conn) 
{ 
    die ("Connection failed: " . mysqli_connect_error()); 
} 

また、テーブルの作成を外に移動すると、すべての行に新しいテーブルが作成されます。

echo '<br /><table class="table table-bordered table-condensed">'; 
echo '<thead><tr>'; 
echo '<th>Name</th>'; 
echo '<th>Email</th>'; 
echo '<th>Question Text</th>'; 
echo '<th>Answer</th>'; 
echo '</tr></thead>'; 
echo '<tbody>'; 

//display the results 
while ($row = mysqli_fetch_array($result)) 
{ 
    echo '<tr>'; 
    echo "<td>".$row['first_name']."</td>"; 
    echo "<td>".$row['email']."</td>" 
    echo "<td>".$row['longdesc']."</td>"; 
    echo "<td>".$row['text']."</td>"; 
    echo '</tr>'; 
} 

echo '</tbody></table>'; 
関連する問題