データベースからデータを印刷するテーブルがあります。同じ名前の複数の外観が存在することがあります。 ご覧のとおり、異なる名前のプロセスがあります。ここに私のテーブルには、次のとおりです。同じ行の2番目の出現時に列内に異なる値を表示
<table>
<?php
$result = getPhData();
echo '
<thead>
<tr>
<th>Staff ID</th>
<th>Full Name</th>
<th>Nicknames</th>
<th>Employment type</th>
<th>Dept:Prod/Other</th>
<th>Number of projects</th>
<th>Many projects?</th>
<th>Ratio per project</th>
<th>Project</th>
<th>Process</th>
<th>Leader</th>
</tr>
</thead>
<?php ';
?>
<tbody>
<?php
$count = 0;
if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
$staffid=$row["staff_id"];
$longnm=$row["longname"];
$usrnm=$row["username"];
$user_type=$row["user_type"];
$number=$row["number"];
$title=$row["title"];
$code=$row["code"];
$process=$row["process"];
$role=$row["role"];
$ratio=1/$number;
?>
<tr valign="top">
<td><?php echo $staffid; ?></td>
<td><?php echo $longnm; ?></td>
<td><?php echo $usrnm; ?></td>
<td><?php echo $user_type; ?></td>
<td>
<?php if($code=='OPD'){ echo "Others";}
else{echo "Prod";}
?>
</td>
<td><?php echo $number; ?></td>
<td>
<?php if($number==1){ echo "First Occurrence";}
else{echo "Duplicate";}
?>
</td>
<td><?php echo $ratio; ?></td>
<td><?php echo $title; ?></td>
<td>
<?php if($process == NULL)
{ echo $role; }
else{ echo $process; }
?>
</td>
<td>
<?php if($role == 'ld')
{ echo "Yes"; }
else{ echo "";}?>
</td>
</tr>
<?php
$count++;}
}
?>
</tbody>
</table>
私が欲しいものは、同じIDがテーブルに二/第三などの時間を表示されたら、「複製」印刷することです。どのように私はPHPを介してこれを達成することができますか?ありがとう
通常、私はアプリケーションコードでこの種の問題を扱うことを最初に主張していますが、実際には私はこれをクエリで実行すると思います。つまり、ループでは、現在の行の値を格納するだけで済みます。次の行の値が格納された値と等しい場合は、 'duplicate'をエコーします。 – Strawberry