我在比较数组中的值和数组中的前一个值,然后执行适当的操作时遇到了问题。有些值是相同的,所以我想把它们去掉。
我试图让它做的是根据前一个值询问变量,如果它们相等,则显示除上述值之外的所有其他值。
这是我的代码。如果这篇文章难以阅读,我深表歉意。我是自学的,我会尽我最大的努力...
<?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
无论如何,任何帮助都将不胜感激。如果之前有人问过这个问题,我也很抱歉,但是,我花了相当多的时间寻找,我发现的信息似乎并不像我希望的那样丰富。
发布于 2012-08-17 03:48:06
为什么不为"previous“的值设置一个temp变量呢?
$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 (PHP5.1支持)或mysqli (PHP4.1支持)。如果您不确定要使用哪一个,可以使用read this article。
https://stackoverflow.com/questions/11994370
复制相似问题