2014-01-17 3 views
-2

У меня есть таблица MYSQL для настройки в моем скрипте, и я получаю эту таблицу в php-объекте, я знаю, как печатать полный объект, используя while(), но я хочу напечатать одно значение с помощью ключа.Печать единственного значения из объекта в php

Это MYSQL таблица:

setting_name setting_value 
    site_name Blue Box 
    site_email [email protected] 
    template_dir defualt 
    language_dir english 
    date_format d.m.y 
    time_format h:m 
    site_logo logo.png 

и это, как я буду выборки таблицы в объекте:

$query_set = "SELECT * FROM setting"; 
    $result_set = mysql_query($query_set) 
    or die ("Error in query: $query_set. " . mysql_error()); 
    $row_set = mysql_fetch_object($result_set); 

я могу напечатать всю таблицу этим кодом:

while($row_set = mysql_fetch_object($result_set)) 
    { 
    echo "<br />"; 
    echo $row_set->setting_name; 
    echo "  "; 
    echo $row_set->setting_value; 
    echo "<br />"; 
    } 

но мне нужно распечатать одно значение из таблицы с помощью клавиши.

примечание: я знаю, что могу фильтровать из моего запроса, но я хочу выбрать всю таблицу для печати группы значений в разных местах на той же странице.

ответ

1

Если вам нужно только одно значение, то вы можете изменить SQL запрос , Нечто подобное,

$query_set = "SELECT * FROM setting WHERE setting_name='site_name'"; 

Если вы должны использовать более одного значения, вы можете попробовать это

$data = array(); 
while ($result = mysql_fetch_assoc($resource)) { 
    $data[$result["setting_name"]] = $result["setting_value"]; 
} 
//Now you will be able to use it like this. 
echo $data["site_name"]; 

Делать это с объектами,

$data = stdClass(); 
while ($result = mysql_fetch_object($resource)) { 
    $data->$result->setting_name = $result->setting_value; 
} 
// For using it. 
echo $data->site_name; 
+0

Спасибо большое, его работа сейчас :) –

1

Вам нужен этот запрос, но googling так сложно в наши дни. Не забудьте фильтровать входные и т.д.

SELECT s.setting_name, s.setting_value 
FROM settings s 
WHERE s.setting_name IN ('my_key', 'my_other_setting', 'some_other_setting') 

Если вы хотите только значение, удалить «s.setting_name,»

+0

Да я знаю, что, но мне нужно напечатать несколько значений на одной странице ... и мне не нравится делать несколько запросов. –

+0

В отличие от выбранного ответа вы получаете только результаты этого запроса, который вы действительно запросили. –

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