Top.Mail.Ru
Ответы

Как вывести каждую строку из определённого столбца MySQL?

У меня имеется цикл где переменная i - это номер строки которой нужно вывести из столбца. Мне нужно вывести каждую строку из столбца ‘titles’ в цикле. Как это можно сделать? Заранее спасибо

Дополнен

Сделаю тогда упрощённый вид этого вопроса: Как вывести значения всех ячеек из конкретного столбца через echo.

Дополнен

Вообщем, спустя часы мучений, отвечаю на свой вопрос)
Для этого нужно выполнить запрос SELECT DISTINCT [название столбца] FROM [название таблицы]

После этого создаём переменную, назовём её $rows и ей присваиваем значение mysqli_fetch_all([переменная с запросом]);
Далее просто делаем так:
foreach ($rows as $row) {
foreach ($row as $value) {
echo $value;
}
}

Переменная $value на каждой итерации цикла будет являться значением каждой ячейки из столбца, который вы указали в запросе. Всем удачи, и спасибо за ваши варианты решения!

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок

Не очень понял, откуда берете номера строк.

Обычно сначала делают запрос вида SELECT titles FROM table WHERE [условия], на PHP PDO будет так:
$db = new PDO("mysql:host=$host;dbname=$database", $user, $password);
$result = $db->prepare("SELECT titles FROM table1 ORDER BY WHERE [условия]");
$result -> execute();

И уже теперь легко вывести каждую строку (значения нужных столбцов) в цикле:
while($row = $result->fetch()) {
echo $row['titles'];
}

Или вам нужно выбрать записи из базы на основе готовы id? Тогда если их не очень много можно указать в запросе: SELECT titles FROM table1 ORDER BY WHERE id IN (1,2,3)

Аватар пользователя
Оракул

SELECT DISTINCT вернёт только уникальные значения в столбце без повторяющихся

Прости, дорогой друг, я уже многое забыл, в данном языке:
Можно решить, по-разному, несколько способов, самое простое:
I=Value Select(a=1..+n);
Write(I)+1;
String(I);
end.

Аватар пользователя
Просветленный

Когда делается вывод в цикле из таблицы, в логике на стороне сервера БД, обычно используются в хранимых процедурах так называемые "курсоры".
Либо используется указатель на набор данных, полученный на стороне клиента. Иной вариант, кроме указанных, будет более геморройным, особенно если выборка большая и условий несколько.

Аватар пользователя
Мудрец

что-то типа такого запроса?
"SELECT [titles] FROM [some_table] WHERE [string_number] = " + i.toString()

Правда тут на каждую итерацию цикла будет отдельный запрос в БД. Если это не критично, то можно так. Иначе лучше сначала в цикле сформировать строку запроса полностью, а потом сделать один запрос в БД, получив сразу все нужные строки