PHP/MySQL | Подскажите с запросом

DELETED
19 июня 2018, в 15:52
Delete
Onmen (19.06.2018 в 15:50)
PhpStorm (19.06.2018 в 15:49)
Onmen (19.06.2018 в 15:46)
PhpStorm (19.06.2018 в 15:34)
а я всё ещё жду когда мне кто-то даст запрос с join и выводом нескольких строк без цикла
в список выбора по select по идее нужно добавить id и он будет в $row['id']
зачем $row['id'] когда $row['tag_name'] я и так получаю строку id
PhpStorm (19.06.2018 в 15:49)
Onmen (19.06.2018 в 15:46)
PhpStorm (19.06.2018 в 15:34)
а я всё ещё жду когда мне кто-то даст запрос с join и выводом нескольких строк без цикла

$sql = $conn->query("SELECT `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name' FROM `img`, `tags` WHERE `img`.`tags` = `tags`.`id`") or die (mysqli_error($conn));
while ($row = $sql->fetch_array()) {
$output .= '<tr>';
$output .= '<td><img class="echo_img" src="/img/' . $row['name'] . ' "></td><td>' . $row['img_date'] . '</td><td>' . $row['tag_name'] . '</td>';
$output .= '</tr>';
};
в список выбора по select по идее нужно добавить id и он будет в $row['id']
зачем $row['id'] когда $row['tag_name'] я и так получаю строку id
у тебя в tag_name судя по скрину содержимое ячейки, на скрине в структуре таблы я не вижу столбца id вообще


DELETED
19 июня 2018, в 15:54
Delete
Onmen (19.06.2018 в 15:51)
PhpStorm, и $row['id'] выведет айди картинки, а не категории, запрос перечитай)
PhpStorm, и $row['id'] выведет айди картинки, а не категории, запрос перечитай)
ну значит добавить не id в select, а tags.id as tag_id блин включайся

будет тогда в $row['tag_id']
________
посл. ред. 19.06.2018 в 15:55; всего 1 раз(а); by PhpStorm

DELETED
Автор
19 июня 2018, в 15:58
Delete
PhpStorm (19.06.2018 в 15:52)
Onmen (19.06.2018 в 15:50)
PhpStorm (19.06.2018 в 15:49)
Onmen (19.06.2018 в 15:46)
PhpStorm (19.06.2018 в 15:34)
а я всё ещё жду когда мне кто-то даст запрос с join и выводом нескольких строк без цикла
в список выбора по select по идее нужно добавить id и он будет в $row['id']
зачем $row['id'] когда $row['tag_name'] я и так получаю строку id
у тебя в tag_name судя по скрину содержимое ячейки, на скрине в структуре таблы я не вижу столбца id вообще
Onmen (19.06.2018 в 15:50)
PhpStorm (19.06.2018 в 15:49)
Onmen (19.06.2018 в 15:46)
PhpStorm (19.06.2018 в 15:34)
а я всё ещё жду когда мне кто-то даст запрос с join и выводом нескольких строк без цикла

$sql = $conn->query("SELECT `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name' FROM `img`, `tags` WHERE `img`.`tags` = `tags`.`id`") or die (mysqli_error($conn));
while ($row = $sql->fetch_array()) {
$output .= '<tr>';
$output .= '<td><img class="echo_img" src="/img/' . $row['name'] . ' "></td><td>' . $row['img_date'] . '</td><td>' . $row['tag_name'] . '</td>';
$output .= '</tr>';
};
в список выбора по select по идее нужно добавить id и он будет в $row['id']
зачем $row['id'] когда $row['tag_name'] я и так получаю строку id
у тебя в tag_name судя по скрину содержимое ячейки, на скрине в структуре таблы я не вижу столбца id вообще

есть, просто по запросу он сразу показывает имена по айди тегов, вот структурный вид)) https://prnt.sc/jwq60t

DELETED
19 июня 2018, в 16:00
Delete
Onmen (19.06.2018 в 15:58)
PhpStorm (19.06.2018 в 15:52)
Onmen (19.06.2018 в 15:50)
PhpStorm (19.06.2018 в 15:49)
Onmen (19.06.2018 в 15:46)
PhpStorm (19.06.2018 в 15:34)
а я всё ещё жду когда мне кто-то даст запрос с join и выводом нескольких строк без цикла
в список выбора по select по идее нужно добавить id и он будет в $row['id']
зачем $row['id'] когда $row['tag_name'] я и так получаю строку id
у тебя в tag_name судя по скрину содержимое ячейки, на скрине в структуре таблы я не вижу столбца id вообще
есть, просто по запросу он сразу показывает имена по айди тегов, вот структурный вид)) https://prnt.sc/jwq60t
PhpStorm (19.06.2018 в 15:52)
Onmen (19.06.2018 в 15:50)
PhpStorm (19.06.2018 в 15:49)
Onmen (19.06.2018 в 15:46)
PhpStorm (19.06.2018 в 15:34)
а я всё ещё жду когда мне кто-то даст запрос с join и выводом нескольких строк без цикла

$sql = $conn->query("SELECT `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name' FROM `img`, `tags` WHERE `img`.`tags` = `tags`.`id`") or die (mysqli_error($conn));
while ($row = $sql->fetch_array()) {
$output .= '<tr>';
$output .= '<td><img class="echo_img" src="/img/' . $row['name'] . ' "></td><td>' . $row['img_date'] . '</td><td>' . $row['tag_name'] . '</td>';
$output .= '</tr>';
};
в список выбора по select по идее нужно добавить id и он будет в $row['id']
зачем $row['id'] когда $row['tag_name'] я и так получаю строку id
у тебя в tag_name судя по скрину содержимое ячейки, на скрине в структуре таблы я не вижу столбца id вообще

есть, просто по запросу он сразу показывает имена по айди тегов, вот структурный вид)) https://prnt.sc/jwq60t
ну если по этой структуре, то tags нужно добавить в выборку по select
в $row['tags'] они тогда прилетят

DELETED
Автор
19 июня 2018, в 16:03
Delete


DELETED
19 июня 2018, в 16:07
Delete
Onmen (19.06.2018 в 16:03)
PhpStorm, Если честно не понял
PhpStorm, Если честно не понял

смотри у тебя tags в одной из таблиц, тебе нужен tags, ты делаешь выборку, объединяя эти таблицы
SELECT `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
тебе нужно добаваить сюда tags
SELECT `tags`, `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
ну и по логике у тебя в $row['tags'] будет id тега, но я смотрю у тебя в tags в некоторых есть две цифры, типа 13 14
________
посл. ред. 19.06.2018 в 16:09; всего 1 раз(а); by PhpStorm

DELETED
Автор
19 июня 2018, в 16:09
Delete
PhpStorm (19.06.2018 в 16:07)
Onmen (19.06.2018 в 16:03)
PhpStorm, Если честно не понял
смотри у тебя tags в одной из таблиц, тебе нужен tags, ты делаешь выборку
SELECT `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
тебе нужно добаваить сюда tags
SELECT `tags`, `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
ну и по логике у тебя в $row['tags'] будет id тега, но я смотрю у тебя в tags в некоторых есть две цифры, типа 13 14
Onmen (19.06.2018 в 16:03)
PhpStorm, Если честно не понял

смотри у тебя tags в одной из таблиц, тебе нужен tags, ты делаешь выборку
SELECT `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
тебе нужно добаваить сюда tags
SELECT `tags`, `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
ну и по логике у тебя в $row['tags'] будет id тега, но я смотрю у тебя в tags в некоторых есть две цифры, типа 13 14
Да, вот и сама суть вопроса, это цифры, айди с таблицы тегов, то есть у каждой картинки может быть не сколько категорий, как вывести все категории , а не только 1?)

DELETED
19 июня 2018, в 16:26
Delete
Onmen (19.06.2018 в 16:09)
PhpStorm (19.06.2018 в 16:07)
Onmen (19.06.2018 в 16:03)
PhpStorm, Если честно не понял
смотри у тебя tags в одной из таблиц, тебе нужен tags, ты делаешь выборку
SELECT `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
тебе нужно добаваить сюда tags
SELECT `tags`, `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
ну и по логике у тебя в $row['tags'] будет id тега, но я смотрю у тебя в tags в некоторых есть две цифры, типа 13 14
Да, вот и сама суть вопроса, это цифры, айди с таблицы тегов, то есть у каждой картинки может быть не сколько категорий, как вывести все категории , а не только 1?)
PhpStorm (19.06.2018 в 16:07)
Onmen (19.06.2018 в 16:03)
PhpStorm, Если честно не понял

смотри у тебя tags в одной из таблиц, тебе нужен tags, ты делаешь выборку
SELECT `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
тебе нужно добаваить сюда tags
SELECT `tags`, `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
ну и по логике у тебя в $row['tags'] будет id тега, но я смотрю у тебя в tags в некоторых есть две цифры, типа 13 14
Да, вот и сама суть вопроса, это цифры, айди с таблицы тегов, то есть у каждой картинки может быть не сколько категорий, как вывести все категории , а не только 1?)
то есть у тебя не выводит 13 14, а нужно и 13 и 14?
тогда типа проверять $row['tags'] на наличие пробела, формировать массив и выводить id из массива по одному
<?php
$row['tags'] = '13 14';
$tags_id = array_map('trim', explode(' ', $row['tags']));
foreach($tags_id as $value) {
echo $value . '<br>';// выводит id либо все id, если их несколько в одной ячейке
// сюда тег с картинкой, в которой название - это $value
}
------

Скачиваний: 81

DELETED
Автор
19 июня 2018, в 16:32
Delete
PhpStorm (19.06.2018 в 16:26)
Onmen (19.06.2018 в 16:09)
PhpStorm (19.06.2018 в 16:07)
Onmen (19.06.2018 в 16:03)
PhpStorm, Если честно не понял
смотри у тебя tags в одной из таблиц, тебе нужен tags, ты делаешь выборку
SELECT `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
тебе нужно добаваить сюда tags
SELECT `tags`, `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
ну и по логике у тебя в $row['tags'] будет id тега, но я смотрю у тебя в tags в некоторых есть две цифры, типа 13 14
Да, вот и сама суть вопроса, это цифры, айди с таблицы тегов, то есть у каждой картинки может быть не сколько категорий, как вывести все категории , а не только 1?)
то есть у тебя не выводит 13 14, а нужно и 13 и 14?
тогда типа проверять $row['tags'] на наличие пробела, формировать массив и выводить id из массива по одному
Onmen (19.06.2018 в 16:09)
PhpStorm (19.06.2018 в 16:07)
Onmen (19.06.2018 в 16:03)
PhpStorm, Если честно не понял

смотри у тебя tags в одной из таблиц, тебе нужен tags, ты делаешь выборку
SELECT `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
тебе нужно добаваить сюда tags
SELECT `tags`, `img`.`name`,`img`.`img_date`, `tags`.`name` AS 'tag_name'
ну и по логике у тебя в $row['tags'] будет id тега, но я смотрю у тебя в tags в некоторых есть две цифры, типа 13 14
Да, вот и сама суть вопроса, это цифры, айди с таблицы тегов, то есть у каждой картинки может быть не сколько категорий, как вывести все категории , а не только 1?)
то есть у тебя не выводит 13 14, а нужно и 13 и 14?
тогда типа проверять $row['tags'] на наличие пробела, формировать массив и выводить id из массива по одному
<?php
$row['tags'] = '13 14';
$tags_id = array_map('trim', explode(' ', $row['tags']));
foreach($tags_id as $value) {
echo $value . '<br>';// выводит id либо все id, если их несколько в одной ячейке
// сюда тег с картинкой, в которой название - это $value
}
Я всё вар дампом проверяю) конечно он всё правильно передаёт)
------

Скачиваний: 94

DELETED
Автор
19 июня 2018, в 16:33
Delete
------

Скачиваний: 90