#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. Вот почему. Спасибо вам, ребята!