@mortnes

Требуется помощь в запросе и его обработки?

Добрый день.
Задача: есть 2 таблицы store и data, они имеют одинаковые поля storeID по которому идёт сопоставления данных.
Требуется по полю fio из таблицы data вытащить доступные записи storeID, а затем по вытащенным storeID нужно вытащить из таблицы store поле base1. Оцените пожалуйста вариант решения, он работает, но нужна оценка на сколько правильно
<?php
	require "configDB.php";
	$fio = $_POST["fio"];

	$queryStore = mysqli_query($connect, "SELECT storeID FROM data WHERE fio = '$fio'");
	
	while($resultStore = mysqli_fetch_array($queryStore))
	{
		
		foreach($resultStore as $storeID)
			{
	      		$queryBases = mysqli_query($connect, "SELECT base1 FROM store WHERE storeID = ' $storeID'");
	        } 

	    while($resultBases = mysqli_fetch_array($queryBases)) 
			{
				echo $resultBases = $resultBases["base1"];
			}
    }	
?>
  • Вопрос задан
  • 69 просмотров
Решения вопроса 3
@shevchenko__k
Помогаю новорожденным web программистам
воспользуйся лучше join https://oracleplsql.ru/joins-mysql.html
базе данных лучшее сделать один большой запрос чем два маленьких
Ответ написан
Комментировать
FeST1VaL
@FeST1VaL
Тихий
Сделай в 1 запрос, через join или примерно такой
SELECT store.base1 FROM `data`, `store` WHERE data.fio = '{$fio}' AND store.storeID = data.storeID

У тебя быстрее выполнится запрос и меньше циклов будет, да и код меньше)
Ответ написан
Комментировать
E1ON
@E1ON
Programming, Gamedev, VR
Можно использовать JOIN:
SELECT store.base1, data.storeID FROM data
INNER JOIN store ON store.storeID = data.storeID AND data.fio = '$fio'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы