Как использовать PHP для запроса MySQL для определенных строк, а затем для каждой строки на основе UID запрашивать другую таблицу на основе значения? - PullRequest
0 голосов
/ 13 марта 2020

Я делаю заявку для людей, чтобы продавать предметы и делать предложения продуктов. Если пользователь просматривает свои товарные предложения, он должен содержать информацию о каждом предложении, а также сведения о каждом пользователе для этого предложения.
Сначала сообщите базе данных, какие предложения необходимо запрашивать, активируемые с помощью функции ajax onclick. (я получил это)

Во-вторых, запросите в таблице ПРЕДЛОЖЕНИЙ предложения со статусом 'o' и PID, равным $_GET['pid'] (5).

OFFERS
------------------------------
| uid | pid | status | price |
------------------------------
|  5  |  5  |   o    |  49   |
|  7  |  5  |   o    |  45   |
------------------------------

Затем запросите ПОЛЬЗОВАТЕЛЕЙ таблица для информации на основе каждого предложения? После этого для каждого результата, основанного на UID, запросите в таблице пользователей информацию, относящуюся к пользователю.

USERS
-------------------------------------
| uid |  fname   |  lname  | rating |
-------------------------------------
|  5  |   John   |   Jan   |   4.3  |
|  7  |   Mark   |   Mull  |   4.2  |
-------------------------------------

Вот фрагмент моего оператора PHP для базы данных.

$stmt = $conn->prepare('SELECT offerdate,price FROM offers WHERE pid=? AND status=?');
$o = 'o';
$stmt->bind_param('is', $_POST['pid'],$o);
$stmt->execute();
$stmt->bind_result($offerdate,$price);

Другое заявление, в котором я нуждаюсь

$stmt = $conn->prepare('SELECT fname,lname,rating, FROM users WHERE uid=?');
$stmt->bind_param('i', );
$stmt->execute();
$stmt->bind_result($fname,$lname,$rating);

Любая помощь будет потрясающей, спасибо!

Ответы [ 2 ]

0 голосов
/ 13 марта 2020

Вы можете получить этот результат в одном запросе с объединением:

select
    o.offerdate,
    o.price
    u.fname,
    u.lname,
    u.rating
from offers o
inner join users u on u.uid = o.uid 
where o.pid = ? and o.status = ?
0 голосов
/ 13 марта 2020

Выполните один запрос, объединяющий две таблицы.

SELECT offerdate, price, fname, lname, rating
FROM offers
INNER JOIN users ON users.uid = offers.uid
WHERE offers.pid = ? AND offers.status = ?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...