Php sql две таблицы

Как подключить 2 таблицы MySQL к php?

Здравствуйте.
Возникла такая надобность — подключить 2 таблицы mysql к сайту на php.
Есть таблица — form_1 и к примеру form_2
В обеих таблицах есть столбец — id. Мне его объединять не надо, нужно выводить информацию стобца id из каждой таблицы (везде он свой)
Как это сделать?

Как подключить базу mysql php, поиск по базе с условием if
Привет! Парни помогите, пожалуйста, сам не программист, а сделать нужно. С большим трудом.

Как присвоить php-переменной значение из таблицы MySQL
Имеется БД MySQL состоящая из таблицы admin, которая состоит из 3-х столбцов id, login, pass. В ней.

Как правильно создать таблицы mysql, имея php код?
Доброго время суток. У меня есть php страниц,от которых нет таблиц в БД mysql Помогите.

Подключить MySQL к PHP
Всем доброго времени суток. Буду признателен за все попытки растолковать бездарю все нюансы и.

Как вывести данные в html страницу в виде таблицы из mysql. php
Вот так могу <?php require ‘scripts/connect.php’; $sql_select = "SELECT * FROM pers"; $result.

ЦитатаСообщение от MisTFoR Посмотреть сообщение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
 class MSQLi { public $connection; public function __construct($hostname, $username, $password, $database, $port = '3306') { $this->connection = new \mysqli($hostname, $username, $password, $database, $port); if ($this->connection->connect_error) { /// throw new \Exception('Error: ' . $this->connection->error . '
Error No: ' . $this->connection->errno);
exit(0); } $this->connection->set_charset("utf8mb4"); $this->connection->query("SET SQL_MODE = ''"); } public function query($sql) { $query = $this->connection->query($sql); if (!$this->connection->errno) { if ($query instanceof \mysqli_result) { $data = array(); while ($row = $query->fetch_assoc()) { $data[] = $row; } $result = new \stdClass(); $result->num_rows = $query->num_rows; $result->row = isset($data[0]) ? $data[0] : array(); $result->rows = $data; $query->close(); return $result; } else { return true; } } else { throw new \Exception('Error: ' . $this->connection->error . '
Error No: '
. $this->connection->errno . '
'
. $sql); } } public function escape($value) { return $this->connection->real_escape_string($value); } public function countAffected() { return $this->connection->affected_rows; } public function getLastId() { return $this->connection->insert_id; } public function connected() { return $this->connection->ping(); } public function __destruct() { $this->connection->close(); } public function ConvertValue($value) { if(is_string($value)) { $value = '\''.$this->escape(trim($value)) . '\''; } elseif(is_array($value) || is_object($value)) { $value = '\''.$this->escape(json_encode($value)) . '\''; } elseif(is_bool($value)) { $value = '\'' . ($value ? 1 : 0) . '\''; } elseif(is_int($value) || is_float($value)) { $value = '\'' . $value . '\''; } else { $value = '\'\''; } return $value; } public function SELECT($tableName, array $ListWHERE = [], $WHERE = '') foreach($ListWHERE as $key => $value) { $key = trim($key); if($WHERE <> '') { switch($key[0]) { case ' } $WHERE .= '`' . $key . '`=' . $this->ConvertValue($value); } if($WHERE <> '') $WHERE = ' WHERE ' . $WHERE; $tableName = $this->escape(trim($tableName)); return $this->query("SELECT * FROM ` ` ".$WHERE);; } public function REPLACE($tableName, array $ListVALUES) { $tableName = $this->escape(trim($tableName)); $KeysList = ''; $ValuesList = ''; foreach($ListVALUES as $key => $value) { if($ValuesList <> '') $ValuesList .= ', '; $ValuesList .= $this->ConvertValue($value); if($KeysList <> '') $KeysList .= ', '; $KeysList .= '`'.trim($key).'`'; } return $this->query("REPLACE INTO ` ` ( ) VALUES ( );"); } public function UPDATE($tableName, array $ListSET, array $ListWHERE = [], $WHERE = '') { $tableName = $this->escape(trim($tableName)); $strSET = ''; foreach($ListSET as $key => $value) { if($strSET <> '') $strSET .= ', '; $strSET .= '`' . trim($key) . '`=' . $this->ConvertValue($value); } foreach($ListWHERE as $key => $value) $key = trim($key); if($WHERE <> '') { switch($key[0]) { case ' } $WHERE .= '`' . $key . '`=' . $this->ConvertValue($value); } if($WHERE <> '') $WHERE = ' WHERE ' . $WHERE; return $this->query("UPDATE ` ` SET ".$strSET.$WHERE);; } }
$connection = new MSQLi($hostname, $username, $password, $database, $port); if(!$connection->connected()) { echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error(); exit; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
case 'login': extract(ParsArgsArray( ['login', 'Логин не заполнена.'], ['password', 'Пароль не заполнена.'] )); $password = md5($connection->escape($password)); $Login = $connection->SELECT('User', ['login' => $login]); if($Login->row && $Login->row['password'] == md5($password)) { $user = [ 'id' => $Login->row['id'], 'login' => $Login->row['login'], 'name' => $Login->row['name'], 'role' => $Login->row['role'], 'hash' => $Login->row['hash'], 'password' => $password ]; setcookie('AuthUserSite', base64_encode(serialize($user)), time() + 3600 * 24 * 30, "/"); returnOut([ 'error' => false, 'message' => 'Вы успешно вошли!.', 'Success' => true ]); } else { returnOut([ 'error' => true, 'message' => 'Логин или пароль - неверный.', ]); } break; case 'registration': if(!$AuthUserSiteAdmin) { returnOut([ 'error' => true, 'message' => 'Нет нужных привилегий.', ]); } extract(ParsArgsArray( ['name', 'Имя не заполнено.'], ['login', 'Логин не заполнен.'], ['password', 'Пароль не заполнен.'], ['password2', 'Проверочный пароль не заполнен.'], ['role', 'Тип занятости не заполнен.'], )); $role = (int)trim($role); $errorList = ''; if(mb_strlen($login)  3) AddInfoText($errorList, 'Логин меньше 3 символов'); if(mb_strlen($password)  5) AddInfoText($errorList, 'Пароль меньше 5 символов'); if($password <> $password2) AddInfoText($errorList, 'Проверочный пароль не совпадает'); $is = $connection->SELECT('User', ['login' => $login]); if($is->row) AddInfoText($errorList, 'Уникальный ID занят.'); if($errorList) { returnOut([ 'error' => true, 'message' => $errorList, ]); } $password = md5(md5($password)); $hash = hash('sha256', $password); if($connection->REPLACE('User', [ 'login' => $login, 'password' => $password, 'hash' => $hash, 'name' => $name, 'role' => $role, 'time' => date("Y-m-d H:i:s") ]) ===true) { returnOut([ 'error' => false, 'message' => 'Вы успешно зарегистрировались', 'Success' => true ]); } else { returnOut([ 'error' => true, 'message' => 'Произошла ошибка при регистрации', ]); } break;

Источник

Связанный вывод с двух таблиц?

Здравствуйте, натолкните на мысль либо дайте пожалуйста пример или ссылку на мануал, как реализовать такой функционал:
MySQL:
У нас есть две таблицы:
category(категории, имеет столбцы — id и name)
order(статьи, имеет столбцы — id, name и category_id)
Хочу реализовать вот такой вывод:
К примеру в таблице category есть три записи(3 категории)
id — 1, name — Природа
id — 2, name — Еда
id — 3, name — Спорт
А в таблице order есть тоже 3 записи (3 статьи)
id — 1, name — В мире животных, category_id — 1
id — 2, name — Как сделать вкусный салат, category_id — 2
id — 3, name — Методы похудения, category_id — 3
Нужно чтоб выводилось на одной странице вот так
1) Природа
— В мире животных
2) Еда
— Как сделать вкусный салат
3) Спорт
— Методы похудения
—————————
То есть чтоб на одной странице выводились все категории и статьи к которым они привязаны.
Заранее огромное спасибо!

rishatss

https://www.w3schools.com/sql/sql_join_inner.asp

Использую таблицы caregory и orders. Связываю их по category_id

SELECT category.name, orders.name FROM category INNER JOIN orders ON category.category_id=orders.category_id ORDER BY category.name;

Развернул по уроку, обойтись оказывается спокойно можно одной таблицей и не мудрить.

-- phpMyAdmin SQL Dump -- version 4.6.5.2 -- https://www.phpmyadmin.net/ -- -- Хост: 127.0.0.1:3306 -- Время создания: Фев 27 2017 г., 22:58 -- Версия сервера: 5.7.16 -- Версия PHP: 7.1.0 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- База данных: `test` -- -- -------------------------------------------------------- -- -- Структура таблицы `categories` -- CREATE TABLE `categories` ( `id` int(10) UNSIGNED NOT NULL, `title` varchar(255) NOT NULL, `parent` int(10) UNSIGNED NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- Дамп данных таблицы `categories` -- INSERT INTO `categories` (`id`, `title`, `parent`) VALUES (1, 'Природа', 0), (2, 'Еда', 0), (3, 'Спорт', 0), (4, 'В мире животных', 1), (5, 'Как сделать вкусный салат', 2), (6, 'Свое', 2), (20, 'Методы похудения', 3); -- -- Индексы сохранённых таблиц -- -- -- Индексы таблицы `categories` -- ALTER TABLE `categories` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT для сохранённых таблиц -- -- -- AUTO_INCREMENT для таблицы `categories` -- ALTER TABLE `categories` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Источник

Вытянуть данные из двух связанных таблиц

Надо вывести на одну страницу данные по фирме бианка и привезанные к ней должности: менеджер, директор.

Приблизительно должно выглядить так на странице:
Фирма — Бианка
Коментарий — хорошая фирма
Вакансии: менеджер, директор

Не понимаю как делать SELECT. КАК это сделать ? Спасибо

Очень нужно быстро. Вывести данные из 3-х связанных таблиц
Необходимо выыести данные из 3-таблиц: users ID login password email name surname date

Получить данные связанных таблиц отдельными подмассивами
Есть 3 связанные таблицы. Как из них достать данные отдельными подмассивами? $result =.

Вывести данные из двух связанных таблиц
Добрый день,пожалуйста, помогите мне у меня 2 таблицы с товарами магазина,первая таблица это.

Как редактировать данные из двух связанных таблиц?
компонент fdquery. имеются данные таблицы l2,l3. в l2 столбцы cтрана,город,ид. в l3 столбец.

Эксперт PHP

$id_firm = 15; $firm = mysql_query('SELECT * FROM `firm` WHERE `id_firm` = ' . $id_firm); $vacancies = mysql_query('SELECT * FROM `vakans` WHERE `id_firm` = ' . $id_firm);

Можно объединить в один запрос с помощью JOIN, но тогда информация о компании будет в каждой строке, избыточно и не очень удобно с этим работать.

SELECT * FROM `firm` JOIN `vakans` ON firm.id_firm=vakans.id_firm WHERE `name_firm`='Бианка';

прошу прощения, не правильно дал задачу. Существует ещё третья таблица — справочник должностей, там где и лежат: менеджер и директор.

таблица: firm
id_firm (primiry key) 1
name_firm Бианка

таблица: vakans
id_vak (primiry key) 1 2
text какой то коментарий
id_firm (forign key) 1 1
id_dol (forign key) 2 3
(две записи в таблице vakans привязанные к фирме бианка в таблице firm — id_firm)
(две записи в таблице vakans привязанные к фирме бианка в таблице dolzgnost — id_dol)

таблица — dolzgnost
id_dol (primiry key) — 1 2
name_dol менеджер директор
(менеджер директор

Надо вывести на одну страницу данные по фирме бианка и привезанные к ней должности: менеджер, директор.

Приблизительно должно выглядить так на странице:
Фирма — Бианка
Вакансии:
менеджер
директор

ТО есть на страницу надо вывести название фирмы бианка (таблица firm ), две вакансии (таблица vakans) и должности относящиеся к каждой вакансии (таблица dolzgnost)

Добавлено через 7 минут
Изза того что не верно описал проблему , не могу вывести name_dol из третей таблицы

Добавлено через 19 минут
К сожалению не получается

Источник

Читайте также:  Html form with cgi
Оцените статью