Вывод данных из таблицы mysql

Здравствуйте друзья! У меня такая проблема: У меня есть таблица mysql по имени custom_fields. В ней есть ячейка с типом selectbox, которая содержит список городов России. Мне как то надо вывести данные из этой ячейки в поле формы для выбора пользователем. Как это сделать? вот код:

<?php

// установка связи с сервером 

$link = mysqli_connect('localhost', 'root', 'root', 'staffproduction');

if ( !$link ) die("Ошибка подключения");

// делаем выборку из таблицы

$result=mysqli_query($link, 'SELECT * FROM `custom_fields` WHERE field_id in (10)');

// выполнение SQL запроса и получение всех записей (строк) из таблицы `table_name`

while ($row=mysqli_fetch_array($result))

{ // вывод данных

  echo '<form>';

  echo '<select>';

  echo '<option>';

  echo $row['select_options'];

  echo '</option>';

  echo '</select>';

  echo '</form>';

}// /while

?>

Так посмотрите что в $row

var_dump($row); die();

и выводите в нужном вам виде.

В option обычно надо так

<option value="ID записи в БД">название для людей</option>

Alex P., как ты понимаешь о чем просят?
Вот данном случае. Когда говорят что хотим, не не говорят зачем это хотим.

Обычно при подобной формулировке вхожу в ступор от не понимания что должно получиться на выходе.
Это у меня такой баг мышления что ли?

Тут как раз понятно что на выходе — форма на сайте с HTML <select> со списком городов.
А вот что на входе непонятно. В БД никаких типов selectbox вроде бы не бывает (может какая-то особенность CMS).

Да где-ж понятно? Я не про форму визуальную. Вот какую выборку из БД нудно зделать в данном случае, просто тупо вывести название города из БД по запросу пользователя? Есть он в БД или нет? Так это каке-то тупое задание, можно просто в таком случае дублировать пользовательский ввод не обращаясь к БД.

Ну так я и говорю, это вход, а не выход. Со входом непонятно )

Список же нужен, всех городов из БД. Пользователь выбирает город из этого списка.

Ребят, спасибо что откликнулись! Наверное это особенность cms. В админке там есть пункт свои поля. Там можно присвоить тип поля ВЫПАДАЮЩИЙ СПИСОК. Каждая строка - это пункт меню. Сохраняет он в таблице costom_fields. Получается после сохранения в БД это свое поле является строкой в этой таблице. И вот сам список городов получается в ячейке в столбце select_option c id 10. Если бы это была отдельная таблица было бы проще, понимаю. Но тут вот какая заморочка!

На выходе выпадающий список, каждый его пункт это город. Нот он выводит у меня все города одним пунктом, мне вот и не понятно если свойство поля selectbox это что то ж значит?

Так а что в строке? Надо определить формат и распарсить.

Эта таблица с данными всех полей созданных мной в админке. Там есть столбцы:field_id, field_user, type, select_option, label, discription. А как это сделать?

Надо определить формат и распарсить.

Посмотреть что в этой ячейке для начала.

array(24) { [0]=> string(2) "10" ["field_id"]=> string(2) "10" [1]=> string(4) "user" ["field_for"]=> string(4) "user" [2]=> string(9) "selectbox" ["type"]=> string(9) "selectbox" [3]=> string(57965) "

хм, странно, куда-то имя поля пропало? То есть к этому значению видимо надо обращаться через $row[3]. Возможно надо было добавить параметр MYSQLI_ASSOC PHP: mysqli_result::fetch_array - Manual
(а, ну точнее если было BOTH по умолчанию, то в массиве все значениями продублированы и для числового индекса, и для строкового с именем столбца)

Так а дальше что? (начало значения)

Дальше идут города сплошняком, а вконце вот это:
{ // вывод данных " [4]=> string(31) "Город проживания" ["label"]=> string(31) "Город проживания" [5]=> string(91) "Обратите внимание, города чередуются по областям!" ["description"]=> string(91) "Обратите внимание, города чередуются по областям!" [6]=> string(5) "other" ["place"]=> string(5) "other" [7]=> string(2) "10" ["length"]=> string(2) "10" [8]=> string(2) "15" ["field_order"]=> string(2) "15" [9]=> string(1) "0" ["mandatory"]=> string(1) "0" [10]=> string(1) "0" ["in_registration"]=> string(1) "0" [11]=> string(1) "1" ["in_profile"]=> string(1) "1" }

Так а города-то в каком виде?
Если они разделены каким-то символом (запятая, …), то чтоб разделить их в массив есть функция explode.
Если там например JSON, то json_decode.
и т.д.

Символов нет. Просто идут сплашняком по все странице

Посмотрите в исходнике страницы (Ctrl+U), может разделены например переводом строки ("\n" или "\r\n") и они не отображаются.

|> Нерюнгри|Якутия|
|---|---|
|> Нюрба|Якутия|
|> Олёкминск|Якутия|
|> Покровск|Якутия|
|> Среднеколымск|Якутия|
|> Томмот|Якутия|
|> Удачный|Якутия|
|> Якутск|Якутия|
|> Губкинский|Ямало-Ненецкий авт. окр.|
|> Лабытнанги|Ямало-Ненецкий авт. окр.|
|> Муравленко|Ямало-Ненецкий авт. окр.|
|> Надым|Ямало-Ненецкий авт. окр.|
|> Новый Уренгой|Ямало-Ненецкий авт. окр.|
|> Ноябрьск|Ямало-Ненецкий авт. окр.|
|> Салехард|Ямало-Ненецкий авт. окр.|
|> Тарко-Сале|Ямало-Ненецкий авт. окр.|
|> Гаврилов-Ям|Ярославская область|
|> Данилов|Ярославская область|
|> Любим|Ярославская область|
|> Мышкин|Ярославская область|
|> Переславль-Залесский|Ярославская область|
|> Пошехонье|Ярославская область|
|> Ростов|Ярославская область|
|> Рыбинск|Ярославская область|
|> Тутаев|Ярославская область|
|> Углич|Ярославская область|
|> Ярославль|Ярославская область<br>>   [4]=&gt;<br>>   string(31) Город проживания<br>>   [label]=&gt;<br>>   string(31) Город проживания<br>>   [5]=&gt;<br>>   string(91) Обратите внимание, города чередуются по областям!<br>>   [description]=&gt;<br>>   string(91) Обратите внимание, города чередуются по областям!<br>>   [6]=&gt;<br>>   string(5) other<br>>   [place]=&gt;<br>>   string(5) other<br>>   [7]=&gt;<br>>   string(2) 10<br>>   [length]=&gt;<br>>   string(2) 10<br>>   [8]=&gt;<br>>   string(2) 15<br>>   [field_order]=&gt;<br>>   string(2) 15<br>>   [9]=&gt;<br>>   string(1) 0<br>>   [mandatory]=&gt;<br>>   string(1) 0<br>>   [10]=&gt;<br>>   string(1) 0<br>>   [in_registration]=&gt;<br>>   string(1) 0<br>>   [11]=&gt;<br>>   string(1) 1<br>>   [in_profile]=&gt;<br>>   string(1) 1<br>> }<br>> </body></html>|

В исходнике столбцом идут

Если там прям как выше, то там же еще и |, |> для разделения ячеек и строк?

Это при желании можно распарсить как-нибудь так

$data = '|> Томмот|Якутия|
|> Удачный|Якутия|
|> Якутск|Якутия|
|> Губкинский|Ямало-Ненецкий авт. окр.|';

$lines = explode("\n", $data);
$items = array_map(function($line) {
    $cells = explode('|', substr($line, 3));
    return ['city' => $cells[0], 'area' => $cells[1]];
}, $lines);

https://3v4l.org/mBqQB

будет массив, где каждый элемент — это массив с ключами city и area.

Но там еще например есть странное

и непонятно что дальше со списком делать, тут же нет никаких ID, как хранить выбранный город в БД.

Ну и вообще скорее лучше изучать что эта CMS с таким делает, наверняка есть готовые функции.

Вам для чего этот список нужен?