2013-02-16 2 views
-1

Я пытаюсь построить массив значений $ key => $, используя цикл while, где ключ $ равен к значению, из db_query. Я думаю, что синтаксис неверен

function _form(){ 

$person = db_query("SELECT name FROM {person}");     
$columnValues = Array(); 

while ($row = db_fetch_array($person)) { 
    $columnValues[] = array($row['name']=> $row['name']); 
} 
. 
. 
. 

У меня есть несколько вопросов.

  1. Мне нужно создать ключ, чтобы вытащить фактическое значение пункта меню «Выбрать»?
  2. Если мне нужно создать ключ, есть ли способ в цикле while не создавать новый массив для каждого элемента, который привязан к его одному значению (например, apple => apple)
  3. что такое правильный способ вытащить значения из флажков и выбрать, чтобы я получил строку, а не упорядоченный номер? (например, form_values ​​['value'] ['select_name'], form_values ​​['value'] ['checkboxes_name'], чтобы сначала возвращать выбранный элемент «apple», а второй дает отмеченный элемент «apple».) ... мне нравится яблоки.

ответ

2

Вы, кажется, делаете ошибку здесь - в ключевых парах значений, значение не может быть массивом

while ($row = db_fetch_array($person)) { 
    $columnValues[] = array($row['name']=> $row['name']); 
} 

должен быть

while ($row = db_fetch_array($person)) { 
    $columnValues[$row['name']] = $row['name']; 
} 

Ответов:

  1. Да, вы всегда должны добавить пару значений ключа - так как значение выводится, а ключ - это то, что g ets, представленные в форме.
  2. Да, приведенное выше объясняет, как создать пару ключей => значение, а не массив пар ключ => значение для каждого элемента.
  3. Отдельные элементы флажка имеют значения, и вы можете установить значение флажка таким же, как у дисплея.
+0

привет, вы знаете, почему вопрос был опущен? – ingrid

Смежные вопросы