0

配列内の値を配列内の前の値と比較し、適切な操作を実行する際に問題が発生しています。一部の値は同一であるため、それらを取り除きたいと思います。

私がやろうとしているのは、前の値に対して変数を調べ、それらが等しい場合は、その値以外のすべてを表示することです。

これが私のコードです。読みづらかったらすいません。独学で頑張ってます…

<?php
// Get Variables from dept.php
$location = $_GET['location'];
$dept = $_GET['dept'];
// Connect to Database
$connect = mysql_connect('localhost', 'UserName', 'Pass');
mysql_select_db('database', $connect);
// Create Recordset       
$iso_sql = " SELECT * FROM `a_qa-iso_data`, `a_qa-iso_category` WHERE `a_qa-iso_data`.Article_Numbers = `a_qa-iso_category`.Article_No AND `a_qa-iso_data`.$location = 1 AND `a_qa-iso_data`.$dept = 1 ORDER BY `a_qa-iso_data`.Article_Numbers, `a_qa-iso_data`.Filename ASC;";
$iso_results = mysql_query($iso_sql, $connect) or die(mysql_error());
$rows_iso_results = mysql_num_rows($iso_results);
// Loop Results
while ($iso_array = mysql_fetch_array($iso_results)) {
    $article = $iso_array['Article_Numbers'];
    $title = $iso_array['Title'];
    $link = $iso_array['Link'];
    $class = $iso_array['Class'];
    $target = $iso_array['Target'];
    $filename = $iso_array['Filename'];
    $header = "<h4>$article - $title</h4>";
    $iso = "<a href=\"$link\" class=\"$class\" target=\"$target\">$filename</a>";
 // Display   
    $next = prev($iso_array);
    if ($next['Article_Numbers'] === $article) {
        echo "$iso";
    }
    else {
        echo "$header $iso";
    }
}
?>

要するに、私は次のようなものを探しています:

$article - $title
-$iso

$article - $title
-$iso
-$iso

$article - $title
-$iso
-$iso
-$iso

$article - $title
-$iso

とにかく助けていただければ幸いです。これが以前に尋ねられた場合もお詫び申し上げますが、かなりの時間をかけて調べましたが、私が見つけたものは私が望んでいたほど有益ではないようです.

4

1 に答える 1

2

「前」の値に一時変数を設定しないのはなぜですか?

$previous = null;
while($iso_array = mysql_fetch_array($iso_results)) {
    // code 
    .
    .
    .

    if (!is_null($previous) && $previous['Article_numbers'] == $article) {
        // something
    } else {
        // something else
    }
    $previous = $iso_array;
}

注:関数の使用を停止する必要がありmysql_*ます。それらは廃止されています。代わりにPDO (PHP 5.1 以降でサポート) またはmysqli (PHP 4.1 以降でサポート) を使用してください。どちらを使用すればよいかわからない場合は、この記事をお読みください

于 2012-08-16T19:48:06.223 に答える