Этот код ниже tableOne
8 имен из tableOne
, но я хочу сравнить эти имена с 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++; }
Вот вам какой-то простой код, чтобы вы начали:
$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++; }
Вы можете сделать код более умным, чтобы обрабатывать случаи, когда сравнивать не с 8 значениями, а также отображать значения в таблице HTML, но, надеюсь, это может помочь вам начать.
Попробуй это:
$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>'; } }
Это будет работать с любым динамическим числом записей в таблицах.
Как сохранить значения ($ row []) в одном массиве ($ tableOne) и сделать то же самое для таблицы два ($ tableTwo), а затем выполнить сравнение в foreach ()? (Для простоты, если вы не хотите никаких объединений)