Как вывести каждую строку из определённого столбца 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()
Правда тут на каждую итерацию цикла будет отдельный запрос в БД. Если это не критично, то можно так. Иначе лучше сначала в цикле сформировать строку запроса полностью, а потом сделать один запрос в БД, получив сразу все нужные строки