2017-01-24 2 views
0

Я хочу заполнить массив данными из таблицы базы данных. Теперь у меня есть столбцы в этой таблице, первый - id_name, а второй text. В таблице в настоящее время имеется 10 строк, но также может быть больше.Использование переменной в виде массива при заполнении массива

Теперь я хочу, чтобы массив иметь следующий вид:
[value of col "id_name"] => [value of col "text"]

Я попытался следующее:

while($row_get_text = mysqli_fetch_assoc($res_get_text)) { 
    $text = array(
     $row_get_text['id_name'] => $row_get_text['text'], 
    ); 
} 

И это первый раз, я пытаюсь повторить значение, принадлежит к индексу home_filter_settings_headline:

<div id="s_f"><?php echo $text['home_filter_settings_headline']; ?></div> 

Но, к сожалению, это не работает. Можно ли сделать так, как я хочу? И если да, то каков правильный способ?

ответ

0

Попробуйте это:

while($row_get_text = mysqli_fetch_assoc($res_get_text)) { 
    $text[$row_get_text['id_name']] = $row_get_text['text']; 
} 
+0

Это приносит: 'Примечание: Undefined переменной: текст в [...]' – user7432500

+0

Проверьте обновленный ответ –

+0

пробовал, приносит: 'Анализировать ошибка: синтаксическая ошибка, неожиданный '=>' (T_DOUBLE_ARROW) в [...] ' – user7432500

0

Попробуйте вставить их в двойные кавычки специально для текстового поля,

while($row_get_text = mysqli_fetch_assoc($res_get_text)) { 
    $id_name = $row_get_text['id_name']; 
    $text_f = $row_get_text['text']; 
    $text = array(
     "$id_name" => "$text_f", 
    ); 
} 
+0

Это приводит: 'Ошибка анализа: синтаксическая ошибка, неожиданная '' (T_ENCAPSED_AND_WHITESPACE), ожидающая идентификатор (T_STRING) или переменная (T_VARIABLE) или номер (T_NUM_STRING) в [...]' – user7432500

+0

Пожалуйста, попробуйте редактирование! –

+0

Пробовал это, это приносит: 'Примечание: Неопределенный индекс: home_filter_settings_headline в [...]' – user7432500

0

попробовать:

$result = [] 
while($row_get_text = mysqli_fetch_assoc($res_get_text)) { 
    $result[$row_get_text['id_name']] = $row_get_text['text'] 
} 
+0

Это приводит: 'Примечание: неопределенный индекс: home_filter_settings_headline в [...]' – user7432500

+0

показать вам код PLS – Hedin

+0

Это сработало, было только одно ';' missing. Большое спасибо! :) – user7432500

0

Ваш код в значительной степени правильно, однако попробуйте сделать эти изменения выбрал text1 tor text2 в зависимости от ваша потребность. Я не был уверен, какой из них является вашим требованием.

$text1 = array(); 
$text2 = array(); 
while($row_get_text = mysqli_fetch_assoc($res_get_text)) { 
    $text1[] = array(
     $row_get_text['id_name'] => $row_get_text['text'] 
    ); 
    $text2[$row_get_text['id_name']] = $row_get_text['text']; 
} 
+0

Спасибо за ваш ответ. Решение с «text1» приносит: «Обратите внимание: неопределенный индекс: home_filter_settings_headline в [...]' в строке, где я хочу повторить значение индекса 'home_filter_settings_headline'. Решение с «text2» приносит: 'Примечание: Неопределенный индекс: skill (platzhalter) в [...]'. 'skill (platzhalter)' - значение col 'text' из таблицы базы данных, и это происходит для каждой строки таблицы базы данных. – user7432500

+0

Я проверил это. Оно работает. Что касается ошибки, кажется, вы используете неправильный индекс. –

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