2017-03-28 5 views
-1
/*the function which fetches data from database */public function allClients() 
{ 
    try 
    { 
     $stmt = $this->conn->query("SELECT * FROM client"); 
     $results = $stmt->fetchAll(PDO::FETCH_ASSOC); 
     return $results; 
    } 
    } 
    catch(PDOException $e) 
    { 
     echo $e->getMessage(); 
    } 
} 

これは関数が呼び出される次のページです。フェッチボタンを使用しました: 'btn-signup'が、このデータをテーブルに表示したいどのボタンを使用せずにそれをどうやって行うのですか?ページを開くときにPHP関数を呼び出す方法

$client2 = new client2(); 
if (isset($_POST['btn-signup'])) 
{ 
    try 
    { 
      $results=$client2->allClients(); 

      foreach(array ($results) as $row) 
     { 


      $id = $row['id']; 
      $name = $row['name']; 
      $email = $row['email']; 
      echo $id."\t\t"; 
      echo $name."\t\t"; 
      echo $email; 
      echo "\n\n"; 

     } 

    } 
    catch(PDOException $e) 
    { 
     echo $e->getMessage(); 
    } 

} 

私はあなた

<table id="data-table-command" class="table table-striped table-vmiddle"> 
          <thead> 
           <tr> 
            <th data-column-id="id" data-type="numeric">ID</th> 
            <th data-column-id="sender">Sender</th> 
            <th data-column-id="received" data-order="desc">Received</th> 
            <th data-column-id="commands" data-formatter="commands" data-sortable="false">Commands</th> 
           </tr> 
          </thead> 
          <tbody> 
                 <tr> 
            <td>10238</td> 
            <td>[email protected]</td> 
            <td>14.10.2013</td> 
           </tr> 
           <tr> 
            <td>10243</td> 
            <td>[email protected]</td> 
            <td>19.10.2013</td> 
           </tr></tr> 
          </tbody> 
         </table> 
+1

問題は何ですか? – Loko

+0

あなたは、ページが読み込まれたときにタブレット(HTMLテーブル)に値を表示したいと思いますか?右 ? –

+0

私はそのボタンを使ってテーブルのどこにデータを置くのかわかりません。ボタンはどこですか? –

答えて

0

変更

echo $id."\t\t"; 
echo $name."\t\t"; 
echo $email; 
echo "\n\n"; 

echo "<tr><td>$id</td><td>$name</td><td>$email</td></tr>; 
にvalues.THANKをフェッチする必要のあるテーブル

テーブルを閉じる前に関数を呼び出します。 そしてまた、あなたがPHPを使用して、テーブルには、一般的な内蔵されていないだから、なぜbodyタグ

</tr></tbody> 
+0

私のために働いていない、すべてのレコードを1行に印刷しています – Pihu

+0

すべてのレコードを表示しませんか? –

+0

はい私はテーブル内のすべてのレコードを表示したいのですが、1行にすべてのレコードを表示するだけです。 – Pihu

0

を閉じる前に余分な</TR>を持っていますか?私が見る限り、あなたはAJAX-Requestなどをしていません。以下のような

何か:あなたはあなたのテーブル内のforeachが適切なテーブルマークアップ

+0

私はあなたのソリューションを試しましたが、これは動作していません。すべてのレコードが印刷されます。 – Pihu

+0

ブラウザでそれを調べるだけで、テーブルが不完全になるタグが見つからないことがあります。しかし、すべてのデータがクエリから与えられた場合、それはクライアント側のレイヤーにあります。たぶんテーブルを境界線にして、どこが間違っているかを見ることもできます。ここで与えられたすべての答えが働くはずですから。私はあなたのCSSがそのテーブルのようにどのように見えるのだろうか。 – Oliver

+0

私はあなたのすべての提案を心に留めておく...私はそれが今働くことを望む...あなたの時間と努力に感謝します – Pihu

1
<table id="data-table-command" class="table table-striped table-vmiddle"> 
    <thead> 
     <tr> 
      <th data-column-id="id" data-type="numeric">ID</th> 
      <th data-column-id="sender">Sender</th> 
      <th data-column-id="received" data-order="desc">Received</th> 
      <th data-column-id="commands" data-formatter="commands" data-sortable="false">Commands</th> 
     </tr> 
    </thead> 
    <tbody> 
     <?php 
     foreach(array($results) as $row) 
     { 
      echo '<tr>'; 
      echo '<td>' . $row['id'] . '</td>'; 
      echo '<td>' . $row['name'] . '</td>'; 
      echo '<td>' . $row['email'] . '</td>'; 
      echo '</tr>'; 
     } 
     ?> 
    </tbody> 
</table> 

は、問題はこれが正しいcode.Itのある、機能していました現在完全に動作しています

public function allClients()//function 
    { 
     try 
     { 
      $stmt = $this->conn->query("SELECT * FROM client"); 
      $stmt->execute(); 
      $results = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
      return $stmt; 

     } 
     catch(PDOException $e) 
     { 
      echo $e->getMessage(); 
     } 
    } 

ファンクションコール

<table id="data-table-command" class="table table-striped table-vmiddle"> 
         <thead> 
          <tr> 
           <th data-column-id="id" data-type="numeric">ID</th> 
           <th data-column-id="sender">Sender</th> 
           <th data-column-id="received" data-order="desc">Received</th> 
           <th data-column-id="commands" data-formatter="commands" data-sortable="false">Commands</th> 
          </tr> 
         </thead> 
         <tbody> 
          <?php 

          $results=$client2->allClients(); 

          foreach($results as $row){ 
           echo "<tr><td>".$row['id']."</td>"; 
           echo "<td>".$row['name']."</td>"; 
           echo "<td>".$row['username']."</td>"; 
           echo "<td>".$row['whatphn']."</td>"; 
          // echo "<td>".$row['email']."</td></tr>"; 

          } 
         ?> 
         </tbody> 
        </table> 
+0

すべてのレコードが1行に印刷されていて、変更された最初のテーブル行は列idの「0」しか表示されず、残りの列は空白です – Pihu

+0

この部分だけを編集しました 'foreach($ results as $ row)' ..このように試してください。あなたのようにデータを取得するのではなく、それがうまくいくかわかりません。 –

+0

Thxzは実際にはそれを行うことによって私はエラーをスローしますが、$ resultは配列ではないので型キャストする必要があります – Pihu

0

でVARSを印刷ん

function table() 
{ 
    $client2 = new client2(); 
    if (isset($_POST['btn-signup'])) 
    { 
     try 
     { 
      $results=$client2->allClients(); 

      foreach(array ($results) as $row) 
      { 
       echo '<tr>'; 
       echo '<td>' . $row['id'] . '</td>'; 
       echo '<td>' . $row['name'] . '</td>'; 
       echo '<td>' . $row['email'] . '</td>'; 
       echo '</tr>'; 

      } 

     } 
     catch(PDOException $e) 
     { 
      echo $e->getMessage(); 
     } 
    } 

} 


/* Set this line where your static rows now are */ 
<table id="data-table-command" class="table table-striped table-vmiddle"> 
         <thead> 
          <tr> 
           <th data-column-id="id" data-type="numeric">ID</th> 
           <th data-column-id="sender">Sender</th> 
           <th data-column-id="received" data-order="desc">Received</th> 
           <th data-column-id="commands" data-formatter="commands" data-sortable="false">Commands</th> 
          </tr> 
         </thead> 
         <tbody> 
          <?php table(); ?> 
         </tbody> 
        </table> 
関連する問題