Добавление имени в поле ввода с использованием поля базы данных SQL

Итак, что я пытаюсь сделать, добавьте значение name='' value в option в выпадающем списке. Все это довольно просто, используя только HTML. Но я хотел бы, чтобы name value было из базы данных, которую я ставил в очередь. Но строка базы данных содержит spaces между словами, и это вызывает проблему. Мне нужно, чтобы строка была Eten & drinken а не так, как она выводится сейчас, см. Пример ниже.

Прямо сейчас, у меня есть это:

  <?php $q = $row["Categorie"]; echo " <option value=".$q." name=".$q."> ".$row["Categorie"]."&nbsp;&nbsp; <span style='font-size:1.2rem;color:#F8F8F8;'>(" . $row['x'] . ") </span> </option> ";?> 

Что выводит следующее, если я смотрю на источник:

 <option value="eten-en-drinken" name="Eten" &amp;="" drinken=""> Eten &amp; drinken&nbsp;&nbsp;(19) </option> 

Я попытался найти google и str_replace , htmlspecialchars , utf8_encode и изменил name на data-type но отметил работу. Я просто хочу, чтобы это было Eten en drinken . Мне нужно это точное значение для использования во втором выпадающем меню. Любые мысли, документация или помощь?

Ваша проблема может быть решена путем добавления отсутствующих котировок для атрибута name .

 echo " <option value=".$q." name='".$q."'>..." 

Попробуйте этот код

$ q = $ row ["Categorie"];

echo "<option value =". $ stub. "name =". $ q. ">". $ row ["Categorie"]. "<span style = 'font-size: 1.2rem; color: # F8F8F8; > (". $ row ['x'].") </ span> </ option> ";

Вы должны попробовать использовать htmlspecialchars () при сохранении ваших данных на mySQL, а не при его извлечении –

 <?php $new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt; ?> 

При извлечении данных попробуйте использовать htmlspecialchars_decode () –

 <?php $str = "<p>this -&gt; &quot;</p>\n"; echo htmlspecialchars_decode($str); // note that here the quotes aren't converted echo htmlspecialchars_decode($str, ENT_NOQUOTES); ?>