Сравнение данных MySQL с другой таблицей

Этот код ниже 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 ()? (Для простоты, если вы не хотите никаких объединений)