以下代码回显了tableOne
中的8个名称,但我想将这些名称与另一个表中的8个名称进行比较。我想将$row['weight']
中回显的行与tableTwo
进行比较,如果结果不匹配,则将<span class="strike"> </span>
添加到$row['weight']
中回显的结果中。
如何添加if / else $row['weight']
将每个名称与另一个表中的名称进行比较?
$result = mysqli_query($con,"SELECT * FROM tableOne LIMIT 0, 8");
$i = 1;
while($row = mysqli_fetch_array($result)) {
echo $i. " - " . $row['weight'] . '<br>';
$i++;
}
答案 0 :(得分:1)
以下是一些简单的代码,可以帮助您入门:
$result = mysqli_query($con,"SELECT * FROM tableOne LIMIT 0, 8");
$result2 = mysqli_query($con,"SELECT * FROM tableTwo LIMIT 0, 8");
$i = 1;
while($row = mysqli_fetch_array($result)) {
$value1 = $row['weight'];
$row2 = mysqli_fetch_array($result2);
$value2 = $row2['weight'];
echo $i . " - table 1: ";
echo $value1;
echo ", table 2: - ";
if ($value2 != $value1) {
echo '<span class="strike">$value2</span>';
} else {
echo $value2;
}
echo '<br>';
$i++;
}
您可以使代码更智能,处理没有要比较的值的情况,并在HTML表格中显示值,但希望这可以帮助您入门。
答案 1 :(得分:1)
试试这个:
$sql="select * from tableone to left join tabletwo tw on to.weight=tw.weight ";
此查询将返回tableone中匹配的所有行以及权重不匹配的行的空行。
所以在你的PHP代码中:
while($row = mysqli_fetch_array($result)) {
if(empty($row['weight'])){
echo '<span class="strike">$row[weight]</span>';
}
}
这适用于表中任何动态数量的记录。
答案 2 :(得分:0)
如何将值($ row [])保存在一个数组($ tableOne)中并对表二($ tableTwo)执行相同的操作然后在foreach()中执行比较? (为简单起见,如果您不想加入任何联接)