Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> основные настройки из одной таблицы, выборка основных значений 
V
    Опции темы
nezabor
Дата 11.7.2009, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

Репутация: нет
Всего: нет



Задача в общем-то самая наверно простая
хочу сделать так:

есть таблица setting основных настроек с полями id, set, rezal
id - соответственно id
set - название настройки (например set1, set2 ...)
rezal - значение настройки

эта таблица по задумке будет содержать основные настройки например e-mail, title и тд и тп
конект с базой проходит а что дальше делать я не знаю, знакомый пыхер сказал использовать foreach но как не объяснил остановился собственно так

Код

//подтягиваем базу данных
require ("$_SERVER[DOCUMENT_ROOT]/lib/conn.php");
//основные значения
$s = "SELECT * FROM setting";


:( хелп пиплы, нгде не нашёл связку foreach и MySQL
---------------------------------
и пожалуста не отписывайтесь как в бородатом анедоте )
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
Ипатьев
Дата 11.7.2009, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



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

PM MAIL   Вверх
nezabor
Дата 11.7.2009, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

Репутация: нет
Всего: нет



да нет я тут еще не полностью написал WHERE мне не походит потому, что не хочется писать полный запрос в каждом случае хотя выводиться будет одно слово
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
Ипатьев
Дата 11.7.2009, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



при чем здесь where?
не хочешь - не пиши. 

странно. у тебя есть файл сonn.php
из этого я делаю вывод, что с базой ты уже работал раньше. почему нельзя получить настройки так же, как обычно?
у тебя есть код, который получает строки, которые вернул запрос?
PM MAIL   Вверх
nezabor
Дата 11.7.2009, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

Репутация: нет
Всего: нет



мммм не пойму к чему вы это ведёте
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
Ипатьев
Дата 11.7.2009, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



я клоню к тому, что надо просто взять свой же код по работе с базой данных.
но если ты никогда с mysql не работал, то вот тебе первые две ссылки
http://ru2.php.net/manual/ru/function.mysql-query.php
http://ru2.php.net/manual/ru/function.mysql-fetch-array.php
PM MAIL   Вверх
nezabor
Дата 11.7.2009, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

Репутация: нет
Всего: нет



млин если ты так хочешь
Код

<?
//подтягиваем базу данных
require ("$_SERVER[DOCUMENT_ROOT]/lib/conn.php");
//основные значения
$s = mysql_query ("SELECT * FROM setting");
for ($c=0; $c<mysql_num_rows($s); $c++)
        {
            $se = mysql_fetch_array($s);
//построчный вывод данных
echo "$se[rezal] <br>";
        }
//подключение шаблонов
    include 'smarty/Smarty.class.php';
    
    $smarty = new Smarty;
    $smarty->compile_dir  = 'smarty/templates_c';
    $smarty->template_dir = 'templates';
    
    $smarty->display('main.tpl');
// as $value
// $value
?>


 то это не то что мне надо
мне надо выбрать все значения этой таблицы
и потом раскидать их по сайту, но ИМХО если для вывода мыла нужно писать целый мускуль запрос, то это как-то не кошерно
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
Ипатьев
Дата 11.7.2009, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Цитата(nezabor @  11.7.2009,  22:22 Найти цитируемый пост)
это не то что мне надо

что-то ты сильно за... эээ... заблуждаешься.
Цитата(nezabor @  11.7.2009,  22:22 Найти цитируемый пост)
мне надо выбрать все значения этой таблицы

этот код делает именно это: выбирает все знчения из таблицы. Чем он тебя не устроил - для меня загадка. 

Что значит "потом раскидать их по сайту"? 
PM MAIL   Вверх
nezabor
Дата 11.7.2009, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

Репутация: нет
Всего: нет



ну например титл будет сверху
мыло вообще везде + хотелось бы редактировать его из админки можно конечно сделать тупо файл настройки, но тогда я не знаю как редактировать его не открывая в блокноте, а реализуя это через пых
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
Ипатьев
Дата 11.7.2009, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



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

значит, получить ты свои настройки можешь. но не знаешь, как их записать в переменные, которые потом будешь использовать на странице? так что ли?
PM MAIL   Вверх
nezabor
Дата 11.7.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

Репутация: нет
Всего: нет



да нет если написать 

index.php
Код

<?php
require ("$_SERVER[DOCUMENT_ROOT]/lib/set.php");
echo "бла бла бла";
echo "$mail";
?>


set.php
Код

<?php
 $mail = "[email protected]";
?>


то получиться вывести, а как редактировать set.php

Это сообщение отредактировал(а) nezabor - 11.7.2009, 22:57
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
Ипатьев
Дата 11.7.2009, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



все, идею с базой данных заборосили, уже хотим в файле хранить?

в любом случае, тебе нужен массив. ты знаком с таким типом данных?
PM MAIL   Вверх
nezabor
Дата 11.7.2009, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

Репутация: нет
Всего: нет



неееее млин мне база в идеале нужна

напиши пример может мене легче будет

Это сообщение отредактировал(а) nezabor - 12.7.2009, 00:25
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
Ипатьев
Дата 12.7.2009, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



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

PM MAIL   Вверх
nezabor
Дата 12.7.2009, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

Репутация: нет
Всего: нет



да именно так!!!
писать запрос для каждой переменной я могу , но не хочу
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
Ипатьев
Дата 12.7.2009, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



тебе нужен массив. ты знаком с таким типом данных? 

PM MAIL   Вверх
bars80080
Дата 13.7.2009, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



по сути дела конечно вопрос без состава вопроса

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

id | set | rezal
4  | title  | Центральный вселенский портал
7  | bground | #000066

нам надо запихнуть вывести их на страницу:

Код

...
<title><?php echo $title; ?></title>
</head>
<body bgcolor="<?php echo $bgcolor; ?>">
...

соответственно нам надо до вывода страницы делать выборки по переменным, обработать их и подставить. но мы программисты, поэтому постараемся сделать максимально эффективно.

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

дальше начинаем преобразовывать вывод под массив:
Код

...
<title><?php echo $arr['title']; ?></title>
</head>
<body bgcolor="<?php echo $arr['bgcolor']; ?>">
...

сделаем массив заготовку, на тот случай, если каких-то значений не существует:
Код

$arr = array('title' => '', 'bgcolor' => '', 'width_page' => ''); // и т.д.

теперь нам надо получить данные:
Код

$sql = 'SELECT * FROM `settings`';
$q = mysql_query($sql);
дальше из полученного ресурса надо получить данные и желательно в виде массива.
совместим эти действия:
Код

$n = mysql_num_rows($q);
for($i = 0; $i < $n; $i++) {
    $f = mysql_fetch_row($q);
    $arr[$f['set']] = $f['rezal'];
}

собсна всё. в $arr готовые настройки, после этого выводим страницу и все переменные встают на места

Код

<?php
$arr = array('title' => '', 'bgcolor' => '', 'width_page' => '');
$sql = 'SELECT * FROM `settings`';
$q = mysql_query($sql);
$n = mysql_num_rows($q);
for($i = 0; $i < $n; $i++) {
    $f = mysql_fetch_row($q);
    $arr[$f['set']] = $f['rezal'];
}
?>
<html><head>
<title><?php echo $arr['title']; ?></title>
</head>
<body bgcolor="<?php echo $arr['bgcolor']; ?>">
...

PM MAIL WWW   Вверх
nezabor
Дата 13.7.2009, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

Репутация: нет
Всего: нет



ОГРОМНОЕ ТЕБЕ СПАСИБО ИМЕННО ТАК Я И ХОТЕЛ smile  smile 
 smile  smile  smile 
РЕСПЕКТ ТЕБЕ
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
nezabor
Дата 13.7.2009, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

Репутация: нет
Всего: нет



спасибо ещё раз, 
Код

//только  
$f = mysql_fetch_row($q);
// надо заменить на 
$f = mysql_fetch_assoc($q);


иначе у меня не работает
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1354 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.