Можно ли вставить и выбрать другую таблицу в одном запросе? - PullRequest
0 голосов
/ 20 мая 2019

Моя проблема в том, что я хочу выбрать только уникальный идентификатор, в который я вставлю свои данные в другую таблицу. поэтому у меня есть table1 для вставки и table2 для выбора этой вставки. как, например, я вошел в систему с Джоном, и введенное значение равно 6000, поэтому другие пользователи, когда я снова войду в систему, определенно не должны отображать 6000

так в моей таблице 1 я вставил это

================
id | name   | value
----------------
1   | John  | 6000
=================

в моей таблице 2 у меня есть

====================
id | user_id | value
1  |   1     |  6000
====================

user_id Джон на столе 1

так как я могу сделать так, чтобы он только запрашивал только, чтобы при входе в систему идентификатора в нем были вставленные значения, а при входе в систему другого пользователя выбранное значение не должно отображаться.

мой код

$dsn = 'mysql:host='. $host . ';dbname=' . $dbname;

$pdo = new PDO($dsn, $user, $password);

$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$stmt1 = $pdo->query('SELECT * FROM accept');


$addInfo=$_POST['addInfo'];
$passInfo=$_POST['passInfo'];


$row = $stmt1->fetch(PDO::FETCH_ASSOC);

$stmt1 = $pdo->prepare("insert accept set accept_info=:addInfo ,pass_id=:passInfo");

$stmt1->bindparam(':addInfo', $addInfo);
$stmt1->bindparam(':passInfo', $passInfo);
if($stmt1->execute())
{
  $res="Data Inserted Successfully:";
  echo json_encode($res);
}
else {
  $error="Not Inserted,Some Problem occur.";
  echo json_encode($error);
}

Мои данные

<input type="hidden" id="passenger_announcement" value="<?php echo $row['value'] ?>" />

<input type="hidden" id="passenger_id" value="<?php echo $row['user_id'] ?>" />

1 Ответ

0 голосов
/ 20 мая 2019

Я думаю, что ваш главный вопрос здесь

так, как я могу сделать так, чтобы он только запрашивал, чтобы при входе в систему идентификатора в нем были вставленные значения, а при входе в систему другого пользователя выбранное значение не должно отображаться. верно?

Мне кажется, что здесь вам нужно сочетание предложений PHP Session и WHERE в вашем запросе

ШАГ 1

Когда вы входите в свое приложение, присвойте идентификатор пользователя сеансу, например:

session_start()
//create a session variable and pass the user's ID to it
$_SESSION['user_id'] = $row['id']

ШАГ 2

У вас есть запрос

$stmt1 = $pdo->query('SELECT * FROM accept');

Измените его на

$stmt1 = $pdo->query('SELECT * FROM accept WHERE id ='.$_SESSION['user_id']);

Так что вы можете получить только те данные из таблицы accept, которые принадлежат только пользователю LOGGED IN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...