私はAPIにクエリを行い、XML結果を取得しています。私はそれらの結果を取って、私は彼らの地位に基づいているテーブルにそれらを固執しようとしています。各列は異なる状態になるので、それぞれの列に入る必要があります。私が実行している問題は、複数のアイテムが同じステータスで返されている場合です。私はこれがループを破っていると信じています。私はまったく表示されていないいくつかのアイテムと重複しているアイテムを取得しています。どのように私は何を探していますか?ありがとう!!たとえば、XMLとforeachループ内のPHP変数
UPDATE:
<?xml version="1.0" encoding="UTF-8"?>
<Assets total="6">
<Asset>
<Attribute name="ID">B-1001</Attribute>
<Attribute name="Title">Some Bug #1</Attribute>
<Attribute name="Status">In Progress</Attribute>
</Asset>
<Asset>
<Attribute name="ID">B-1002</Attribute>
<Attribute name="Title">Some Bug #2</Attribute>
<Attribute name="Status">Code Review</Attribute>
</Asset>
<Asset>
<Attribute name="ID">B-1003</Attribute>
<Attribute name="Title">Some Bug #3</Attribute>
<Attribute name="Status">Code Review</Attribute>
</Asset>
<Asset>
<Attribute name="ID">B-1004</Attribute>
<Attribute name="Title">Some Bug #4</Attribute>
<Attribute name="Status">Ready for Development</Attribute>
</Asset>
<Asset>
<Attribute name="ID">B-1005</Attribute>
<Attribute name="Title">Some Bug #5</Attribute>
<Attribute name="Status">In Progress</Attribute>
</Asset>
<Asset>
<Attribute name="ID">B-1006</Attribute>
<Attribute name="Title">Some Bug #6</Attribute>
<Attribute name="Status">In Progress</Attribute>
</Asset>
<?php
foreach($xmlDefect as $assetDefect){
// variables from defects XML
$defectId = $assetDefect->Attribute[0];
$defectTitle = $assetDefect->Attribute[1];
$defectStatus = $assetDefect->Attribute[2];
if($defectStatus == "Gathering Requirements"){
$defectGatheringReqs = "<div class='bugsItem'>" . $defectId . "</div>";
}else if($defectStatus == "Ready for Development"){
$defectReadyForDev = "<div class='bugsItem'>" . $defectId . "</div>";
}else if($defectStatus == "In Progress"){
$defectInProgress = "<div class='bugsItem'>" . $defectId . "</div>";
}else if($defectStatus == "Code Review"){
$defectAEReview = "<div class='bugsItem'>" . $defectId . "</div>";
}else if($defectStatus == "Code Complete"){
$defectCodeComplete = "<div class='bugsItem'>" . $defectId . "</div>";
}
}
?>
<table>
<tr>
<td>
Gathering Requirements
</td>
<td>
Ready for Development
</td>
<td>
In Progress
</td>
<td>
Code Review
</td>
<td>
Code Complete
</td>
</tr>
<tr>
<td>
<?php echo $defectGatheringReqs; ?>
</td>
<td>
<?php echo $defectReadyForDev; ?>
</td>
<td>
<?php echo $defectInProgress; ?>
</td>
<td>
<?php echo $defectAEReview; ?>
</td>
<td>
<?php echo $defectCodeComplete; ?>
</td>
</tr>
</table>
'$ xmlDefect'の内容の例を投稿できますか? –
foreachループに終了タグがありません。 – jisaacstone
基本的には、ループの始めに出力変数をリセットする必要があります。それ以外の場合は、最後のループ(反復)の値が残ります。 – hakre