2016-04-07 13 views
-2

質問は既に回答済みですが、私の複雑さはちょっと高いと思います。私は5列のテーブルを持っている行は任意の数にすることができます。データベースから検索されたデータは特定の条件に基づいており、出力は順次です。私がする必要があるのは、2つの行をDBから並べて表示する必要があるということです。その結果、合計で10列になります。私はすべての行に対してこれを行う必要があります。したがって、データベースに10行がある場合、2行おきに1行が置かれるたびにPHP上に5行が表示されます。2行をPHPで並べて表示し、新しいフィールドに時間の差を表示する方法

ここでは、5番目と10番目の列にはUNIXのタイムスタンプが付いています。 Unixタイムスタンプから5列目のUNIX時刻を10列に引く必要があり、PHP画面上の11列の違いとして表示する必要があります。私が書いたコードは、すべての行を順番に表示します。私はこれを行う方法についてはわかりません。助けが必要です!! //私は開発者ではありません私はパフォーマンステストに入っています。ただ、これは:(..私は違い列を必要とする10'th列の後に予想される中で 以下の私のPHPコード(データベースがenter image description hereスナップ)(期待出力enter image description here)をご覧ください。..行って取得する必要があります。10日の間の差を計算します。。。そして第5列事前に感謝..

<?php 

include '_runQuery.php'; 


$host="10.139.157.84"; 
$username="testadmin"; 
$password="summer12"; 
$db_name="pvteamdb"; 

$printLimit = 100000; 


// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// Get values from form 

$application =$_POST['application']; 
$lifecycle =$_POST['lifecycle']; 
$useability =$_POST['useability']; 


// 'application' needs to have a value ... 

if ($application == "") { 
    echo "<br><br> *ERROR: you must enter an application id !! ** " ; 
    echo "<br><br><a href='print_selected_policies.php'>Back</a>"; 
    return; 
} 



$sqlfirstbit = "SELECT application,identifier,lifecycle,useability,epochtime FROM policies WHERE application = '$application'"; 
$orderByStmt = " order by identifier asc"; 

if ($lifecycle == "" && $useability == "" ){ 
    $sql = $sqlfirstbit . $orderByStmt; 
} else if ($useability == ""){ 
    $sql = $sqlfirstbit . " AND lifecycle = '$lifecycle' " . $orderByStmt; 
} else if ($lifecycle == ""){ 
    $sql = $sqlfirstbit . " AND useability = '$useability' " . $orderByStmt; 
} else { 
    $sql = $sqlfirstbit . " AND lifecycle = '$lifecycle' AND useability = '$useability' " . $orderByStmt; 
} 

$result=runQuery($sql); 

$numRows=mysql_num_rows($result); 
echo "<br><br> numRows = ". $numRows; 


if ($numRows > $printLimit){ 
    echo "<br><br> *ERROR: more than $printLimit rows have been returned from query ($numRows rows returned)** " ; 
    echo "<br><br><a href='print_selected_policies.php'>Back</a>"; 
    return; 
} 


if ($numRows == 0){ 
    echo "<br><br> -- No rows match filter criteria -- "; 

} else { 
    echo "<table border='1'>"; 

    echo "<tr><td>application</td><td>identifier</td><td>lifecycle</td><td>useability</td><td>epochtime</td></td>"; 
    echo "</tr>"; 

     // $rows=mysql_fetch_array($result); 

    while ($row = mysql_fetch_assoc($result)){ 
     $application= $row['application']; 
     $identifier = $row['identifier']; 
     $lifecycle = $row['lifecycle']; 
     $useability = $row['useability']; 
      //$otherdata = htmlspecialchars($row['otherdata']); 
      //$otherdata =$row['otherdata']; 
      //$lifecycle = $row['lifecycle']; 
     //$created = $row['created']; 
     //$updated = $row['updated']; 
      $epochtime = $row['epochtime']; 

     echo "<tr>"; 
     echo "<td>$application</td>"; 
     echo "<td>$identifier</td>"; 
     echo "<td>$lifecycle</td>"; 
     echo "<td>$useability</td>"; 
     //echo "<td>$otherdata</td>"; 
     //echo "<td>$created</td>"; 
     //echo "<td>$updated</td>"; 
      echo "<td>$epochtime</td>"; 
     echo "</tr>"; 
    } 
    echo "</table>"; 
    mysql_free_result($result); 

}`enter code here` 

echo "<br><br><a href='message_analyzer.php'>Back</a>"; 
mysql_close(); 

?> 
+2

それは、問題を再現するのは難しい十分な詳細を提供せずに必要なすべての詳細情報を追加してください必要な詳細が含まれます: 'あなたの関連テーブル、サンプルデータ、期待される出力を – 1000111

+0

データベーススナップショットを追加しました – user3514283

+0

コメント付き期待出力を追加しました。現在の出力画面をtに貼り付けることができません。ここに添付ファイルの制限があります – user3514283

答えて

0
<html> 
    <head> 
     <title>EMBS_AON</title> 
     <link rel="stylesheet" href="style.css" media="all"> 
    </head> 

    <body> 
     <div id="container"> 


      <?php 

$host="10.139.157.84"; 
$username="testadmin"; 
$password="summer12"; 
$db_name="pvteamdb"; 

$printLimit = 100000; 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$application =$_POST['application']; 
$lifecycle =$_POST['lifecycle']; 
$useability =$_POST['useability']; 

       include '_runQuery.php'; 
       $query = "SELECT application,identifier,lifecycle,useability,created,updated,epochtime FROM policies WHERE application = '$application' AND useability = '$useability' "; 
           $orderByStmt = " order by epochtime asc"; 
       $run = mysql_query($query); 

       echo "<table border=1> 
        <tr> 
         <td>appliaction</td> 
         <td>identifier</td> 
         <td>lifecycle</td> 
         <td>useability</td> 
         <td>epochtime</td> 
         <td>appliaction</td> 
         <td>identifier</td> 
         <td>lifecycle</td> 
         <td>useability</td> 
         <td>epochtime</td> 
         <td>Diff epochtime</td> 

        </tr> 

       "; 
       $rowCount = 1; 
       while($row=mysql_fetch_array($run)){ 
        $application = $row['application']; 
        $identifier = $row['identifier']; 
        $lifecycle = $row['lifecycle']; 
        $useability = $row['useability']; 
        $epochtime = $row['epochtime']; 
       ?> 

        <?php 
        if($rowCount%2==1) { 
         echo "<tr>"; 
         $firstEpochTime = $epochtime; 
        } 
        if(strpos($lifecycle, 'Request') !== false) { 
         $applicationRequest = $application; 
         $idRequest = $identifier; 
         $lifecycleRequest = $lifecycle; 
         $useabilityRequest = $useability; 
         $epochtimeRequest = $epochtime; 
        } 
        if(strpos($lifecycle, 'Reply') !== false) { 
         $applicationReply = $application; 
         $idReply = $identifier; 
         $lifecycleReply = $lifecycle; 
         $useabilityReply = $useability; 
         $epochtimeReply = $epochtime; 
        } 
        ?> 

        <?php 
        if($rowCount%2==0) { 
         $lastEpochTime = $epochtime;?> 

         <td><?php echo $applicationRequest;?></td> 
         <td><?php echo $idRequest;?></td> 
         <td><?php echo $lifecycleRequest;?></td> 
         <td><?php echo $useabilityRequest;?></td> 
         <td><?php echo $epochtimeRequest;?></td> 

         <td><?php echo $applicationReply;?></td> 
         <td><?php echo $idReply;?></td> 
         <td><?php echo $lifecycleReply;?></td> 
         <td><?php echo $useabilityReply;?></td> 
         <td><?php echo $epochtimeReply;?></td> 

         <td><?php echo $epochtimeReply-$epochtimeRequest;?></td> 
        <?php echo "</tr>"; 
        } 
        $rowCount = $rowCount + 1; 
        ?> 



     <?php } 
     echo "</table>"; 
     ?> 

     </div> 





    </body> 
</html> 
+0

申し訳ありませんが、これは私を助けることができませんでした。 : – user3514283

+0

私は、thedtabaseと予想されるPHP画面のスナップショットと一緒に問題にdiscriptionを追加しました。詳細情報が必要な場合は教えてください – user3514283

+0

作業コードを追加しました。 – user3514283

関連する問題