Проблема с SQL-запросом, выводящим только один результат при наличии двух значений из базы данных

#php #mysql #sql #join #select

#php #mysql #sql #Присоединиться #выберите

Вопрос:

Добрый день! Я создаю запрос, в котором мне нужно выбрать значения из двух таблиц с одинаковыми значениями, и он работает нормально, но моя проблема в том, что он отображает только одно значение из моей таблицы. Например.

Он отображает только last name потому что я использую order by desc , но он не будет отображать следующий результат. В чем проблема с моим запросом? Спасибо за помощь!

Но когда я удалил эту строку ORDER BY homeID DESC LIMIT ' . $this_page_first_result . ',' . $results_per_page . ' , были отображены два результата.

 Table [Example}

ID    Description
1      FirstName
2      Last name

My query:

$sql='SELECT homepost.homeID, homepost.homeTitle, homepost.homeIntro, homepost.homePost, homeimage.imageName FROM homepost JOIN homeimage ON (homepost.homeID=homeimage.imageID) WHERE homepost.homeID=homeimage.imageID ORDER BY homeID DESC LIMIT ' . $this_page_first_result . ',' .  $results_per_page . '';  

Запрос:

 SELECT
  homepost.homeID, homepost.homeTitle, homepost.homeIntro,
  homepost.homePost, homeimage.imageName
  FROM homepost
  JOIN homeimage ON homepost.homeID = homeimage.imageID
  WHERE homepost.homeID=homeimage.imageID
  ORDER BY homeID DESC
  LIMIT $this_page_first_result, $results_per_page
  

 $results_per_page = 4;

$sql='SELECT * FROM homepost';
$result = mysqli_query($con, $sql);
$number_of_results = mysqli_num_rows($result);

$number_of_pages = ceil($number_of_results/$results_per_page);

if (!isset($_GET['page'])) {
  $page = 1;
} else {
  $page = $_GET['page'];

}

$this_page_first_result = ($page-1)*$results_per_page;

then my Query  

Комментарии:

1. Что это за база данных?

2. Что вы имеете в виду? Я использую XAMPP PHP MySQL

3. Это не ORDER BY , а LIMIT предложение. Какое значение $results_per_page ?

4. Попробуйте выполнить запрос для первой страницы — т.е. с LIMIT 0, 4 . Это должно показать вам обе строки.

5. Хорошо. Я понял. У меня возникают просчеты при попытке его вычисления. У меня результат меньше 1. Вот почему. Спасибо вам, ребята!