0

これは私のコードです:

$result = mysql_query ($query) or die (mysql_error());
$row = mysql_fetch_assoc($result);

while($row = mysql_fetch_array( $result )) {

$contactID=$row['contactID'];
$contactFamily =$row ['contactFamily'];
$Contact=$row ['Contact'];
$contactOwner =$row ['contactOwner'];
$Impact=$row ['Impact'];
$Probability =$row ['Probability'];



if ($row ['Impact']=="5" && $row['Probability']=="4")
{
    $grid1=  $row ['contactFamily']." ".$row ['Contact']." .$row['contactOwner'];
}

?>
<br/>
<?php

if ($row ['Impact']=="3" && $row['Probability']=="4")
{
    $grid2=  $row ['contactFamily']." ".$row ['Contact']." .$row['contactOwner'];
}
?>
<br/>
<?

}

問題は、$grid1または$grid2のすべてではなく、エコーしたときにテーブルの最後のレコードのみが表示されることです。

誰か助けてもらえますか?

4

4 に答える 4

0

$grid1配列で$grid2ある必要があります。それ以外の場合は、ループを通過するたびに値を上書きするだけです。

$grid1 = array();
$grid2 = array();
while($row = mysql_fetch_array( $result )) {

$grid1[] =  $row ['contactFamily']." ".$row ['Contact']." ".$row['contactOwner'];

$grid2[] =  $row ['contactFamily']." ".$row ['Contact']." ".$row['contactOwner'];
于 2013-03-21T18:40:22.440 に答える
0

ループが実行されるたびに $grid1 と $grid2 が次の値で上書きされるため、 while ループ内で $grid1 と $grid2 をエコーする必要があります。

于 2013-03-21T18:41:47.790 に答える
0

$grid1再割り当てしている結果セットと作成している文字列を反復処理するたびに$grid2、最後の結果のみが表示されるのはそのためです。やりたいことは、連結代入演算子を使用することです.=

$grid1 .= $row['contactFamily']." ".$row['Contact']." ".$row['contactOwner'];
于 2013-03-21T18:42:19.883 に答える
0

変数を複数回入力していますが、最後の値のみが保持されます。これが、常に最後の値が表示される理由です。配列を使用してコードを変更しました:

<?php
$result = mysql_query($query) or die (mysql_error());
$row = mysql_fetch_assoc($result);
$i = 0
while($row = mysql_fetch_array($result)) {
    $data[$i]['contactID'] = $row['contactID'];
    $data[$i]['contactFamily'] = $row['contactFamily'];
    $data[$i]['Contact'] =$row['Contact'];
    $data[$i]['contactOwner'] = $row['contactOwner'];
    $data[$i]['Impact'] = $row['Impact'];
    $data[$i]['Probability'] = $row['Probability'];

    if ($row['Impact'] == "5" && $row['Probability'] =="4") {
        $grid1[$i] = $row['contactFamily'] . " " . $row ['Contact'] . " " . $row['contactOwner'];
    }
    if ($row['Impact']=="3" && $row['Probability']=="4") {
        $grid2[$i] = $row['contactFamily'] . " " . $row ['Contact'] . " " . $row['contactOwner'];
    }
    $i++;
}
于 2013-03-21T18:49:19.210 に答える