2016-04-11 9 views
-1

idを使用してリレーショナルテーブルから個々の行を表示しようとすると、ボタンをクリックしたように表示され、この行が新しいタブでiframeモーダルで表示されます。親テーブルのデータも期待どおりに機能していますが、問題は子テーブルのデータです。すべてのIDに対して常に1つずつ表示されます。下に私のスクリーンショットも追加しました。IDに基づいてリレーショナルテーブルから個々の行を表示

次のスクリーンショットの日付の列は、[表示]ボタンをクリックしたときに期待どおりに機能していますが、問題は子テーブルからのものです。

enter image description here

これは

enter image description here

コードビューボタンをクリックして開きますモーダルスクリーンショットです:

<?php 

    $id= $_GET['id'];      
    $qry = mysql_query("select t.*, u.zip AS zip, u.acct_type AS acct_type from transport as t,users as u WHERE t.id=$id "); 


    if($qry === FALSE) { 

    die(mysql_error()); // TODO: better error handling 

    } 

    $data = mysql_fetch_array($qry);  

    ?> 


     <tr role="row" class="even"> 
      <td style="display:none;"><?php echo $data['id'];?></td>  
      <td class="sorting_1"> 
      <?php 
      $datess = $data['create_date']; 
      $old_date_timestamp = strtotime($datess); 
      echo date('m-d-Y', $old_date_timestamp); 
         ?>                       </td>                 <td>                <?php         
      $acct_type = $data['acct_type']; 

      if($acct_type == 0) 
      { 
       echo "Admin"; 
      } 

      elseif($acct_type == 3) 
      { 
       echo "User"; 
      } 

      elseif($acct_type == 4) 
      { 
       echo "Guest User"; 
      } 

      elseif($acct_type == 5) 
      { 
       echo "Administrator"; 
      } 

      else 
       { 
       echo "Trial User"; 
       }  
       ?> 

      </td> 
      <td><?php echo $data['zip'];?></td>          

     </tr>  

あり、ユーザーテーブルが子供でありますテーブル

誰でもバグの場所を教えていただけますか?

switch ($data['acct_type']) 
{ 
    case 0: 
     echo 'Admin'; 
     break; 
    case 3: 
     echo 'User'; 
     break; 
    default: 
     echo 'Unknown'; 
     break; 
} 

よりオーバー、mysqlほとんどで償却されていますときに、より読みやすい

答えて

0

デバッグコードを使用すると、その結果がわかっているので、彼らはスイッチを使用してif文を交換するように行けば、より良い方法を使用してみてください、助けPHPのバージョン - は、PDOを使用していない限り、プロトコルの使用から離れる必要があります。これは期待された動作を得られない原因の1つになる可能性があります。

エラーがなければ、基本的に私たちにデバッグあなたのデータや表の表現なしではほとんど不可能であるあなたにプログラムを要求しています。

あなたは、読みやすさと、あなたのコードのデバッグについてさらに学ぶために、これらのソースを読むことができます:

両方のは、お互いにリンクします。

編集:お問い合わせの回りにvar_dumps()を使用することをおすすめします。

+0

mysqlは推奨されていませんが、サイトオーナーは更新に興味はありません。調査可能な答えをありがとう。 – Fameless

+0

OOPを書いたのであれば、何かを更新するのは難しいことではありません。私はビットごとにデバッグし、エラーログを有効にして、将来的にはより読みやすくして、単純に何をしているのか理解できるようにすることをお勧めします。 – KDOT

+0

誰もが可能なすべての方法を試みる前に質問をしなかったと思います。 – Fameless

関連する問題