Опять проблема :(
Вот код:
index.php
<?php include("connect/functions.php");
shablonezator();
?>
functions.php
<?php
function connect($host,$user,$password,$table){
$mysql_C = mysql_connect($host,$user,$password);
mysql_select_db($table,$mysql_C);
}
/**
*Моя функция,которая упрощает подключения
*К баз данных MySQL
*/
function sql($sql){
$mysql_Q = mysql_query($sql);
global $mysql;
$mysql = mysql_fetch_array($mysql_Q);
}
/**
*Моя функция,которая упрощает
* SQL запрос
*/
function shablonezator()
{
$page = $_GET['page'];
if($page == '')
{
$url = "index.php?page=index";
header("Location:$url");
}
/**
* Если $_GET['page'] пустая
* То переадрисируем на главную страницу
*/
connect("localhost","cms","cms","cms");
/**
* Подключаемся к базе с помощью моей функции
*/
sql("SELECT `title`,`content` FROM `index` WHERE `page`='$page'");
/**
* Делаем SQL запрос с помощью моей функции (мне кажется здесь беда)
*/
$title = $mysql['title'];
$content = $mysql['content'];
/**
* Загоняем в переменные инфу с бд
*/
$time = date("H");
/**
* Определяем время
* А далее сморя сколько время подбираем шаблон,к ошибке не относиться!
*/
if($time == '7' or $time == '8' or $time == '9' or $time == '10' or $time == '11')
{
$tpltitle = file_get_contents("templates/u/title.tpl");
$tplcontent = file_get_contents("templates/u/content.tpl");
$index = str_replace('{TITLE}',$title,$tpltitle);
$index .= str_replace('{CONTENT}',$content,$tplcontent);
echo $index;
exit();
}
if($time == '12' or $time == '13' or $time == '14' or $time == '15' or $time == '16' or $time == '17' or $time == '18' )
{
$tpltitle = file_get_contents("templates/d/title.tpl");
$tplcontent = file_get_contents("templates/d/content.tpl");
$index = str_replace('{TITLE}',$title,$tpltitle);
$index .= str_replace('{CONTENT}',$content,$tplcontent);
echo $index;
exit();
}
if($time == '19' or $time == '20')
{
$tpltitle = file_get_contents("templates/v/title.tpl");
$tplcontent = file_get_contents("templates/v/content.tpl");
$index = str_replace('{TITLE}',$title,$tpltitle);
$index .= str_replace('{CONTENT}',$content,$tplcontent);
echo $index;
exit();
}
if($time == '21' or $time == '22' or $time == '23' or $time == '24' or $time == '1' or $time == '2' or $time == '3' or $time == '4' or $time == '5' or $time == '6')
{
$tpltitle = file_get_contents("templates/n/title.tpl");
$tplcontent = file_get_contents("templates/n/content.tpl");
$index = str_replace('{TITLE}',$title,$tpltitle);
$index .= str_replace('{CONTENT}',$content,$tplcontent);
echo $index;
exit();
}
}
?>
Спустя 4 минуты, 26 секунд (31.12.2011 - 18:29) mid написал(а):
function connect($host,$user,$password,$table){
$mysql_C = mysql_connect($host,$user,$password);
mysql_select_db($table,$mysql_C);
}
function sql($sql){
$mysql_Q = mysql_query($sql);
global $mysql;
$mysql = mysql_fetch_array($mysql_Q);
}
Без этих функций,используя дедовский метод mysql_connect Тупо и тд все работает!
Спустя 15 секунд (31.12.2011 - 18:29) inpost написал(а):
mid
5 месяцев, уже пора: http://irbis-team.com/15/1/8
Переделывай. Уважай себя и читателей. Ты же не 1 строчку даёшь.
5 месяцев, уже пора: http://irbis-team.com/15/1/8
Переделывай. Уважай себя и читателей. Ты же не 1 строчку даёшь.
Спустя 1 минута, 14 секунд (31.12.2011 - 18:30) caballero написал(а):
Цитата |
Вывод из бд не работает и в тоже время ошибку не выдает! |
Или работает но возвращает пустой набор по причине отсутствия данных по данному запросу
Спустя 2 минуты, 7 секунд (31.12.2011 - 18:32) mid написал(а):
inpost ,конечно,сейчас все сделаю как нужно!Просто нг помогаю на стол накрывать и тружусь:)
Сейчас исправлюсь!
Сейчас исправлюсь!
Спустя 53 секунды (31.12.2011 - 18:33) mid написал(а):
Цитата (caballero @ 31.12.2011 - 15:30) |
Или работает но возвращает пустой набор по причине отсутствия данных по данному запросу |
Есть в бд все.Я же говорю если по обычному вытаскивать mysql_query("SELECT..") то все выводиться!
Спустя 10 минут, 37 секунд (31.12.2011 - 18:44) johniek_comp написал(а):
<?php
function connect($host,$user,$password,$table){
$mysql_C = mysql_connect($host,$user,$password);
mysql_select_db($table,$mysql_C);
}
$mysql = mysql_fetch_array($mysql_Q);
function sql($sql){
$mysql_Q = mysql_query($sql);
global $mysql;
}
вот так нада
а чему равна $sql?
а это че такое?
sql("SELECT `title`,`content` FROM `index` WHERE `page`='$page'");
Спустя 5 минут, 26 секунд (31.12.2011 - 18:49) mid написал(а):
johniek_comp,пользовательские функции:)
Нее,то что предложил:
Совершенно не то)))
И если даже делать так,то нужно на переменную $mysql_Q в функции global прописать или return.
Беда..Надо выпить,тогда и дело само собой решиться :D :D :D
:rolleyes:
Нее,то что предложил:
function connect($host,$user,$password,$table){
$mysql_C = mysql_connect($host,$user,$password);
mysql_select_db($table,$mysql_C);
}
$mysql = mysql_fetch_array($mysql_Q);
Совершенно не то)))
И если даже делать так,то нужно на переменную $mysql_Q в функции global прописать или return.
Беда..Надо выпить,тогда и дело само собой решиться :D :D :D
:rolleyes:
Спустя 1 минута, 26 секунд (31.12.2011 - 18:50) mid написал(а):
надо начинать пить
Спустя 1 минута, 7 секунд (31.12.2011 - 18:52) mid написал(а):
johniek_comp
Цитата (johniek_comp @ 31.12.2011 - 15:44) |
а чему равна $sql? |
Настоятельно рекомендую почитать вам про пользовательские функции!
Спустя 2 минуты, 42 секунды (31.12.2011 - 18:54) inpost написал(а):
johniek_comp
Я понимаю, что ты стал много советовать, но я исправляю тебя в соседней теме, а ты снова те же ошибки допускаешь!
Я бы тебе посоветовал, больше прислушиваться к замечаниям в твой адрес, а так же прочитать тему, что выше ссылку я дал, и оформлять нормальным стилем.
Я понимаю, что ты стал много советовать, но я исправляю тебя в соседней теме, а ты снова те же ошибки допускаешь!
Я бы тебе посоветовал, больше прислушиваться к замечаниям в твой адрес, а так же прочитать тему, что выше ссылку я дал, и оформлять нормальным стилем.
Спустя 3 минуты, 5 секунд (31.12.2011 - 18:57) mid написал(а):
Цитата (inpost @ 31.12.2011 - 15:54) |
Я понимаю, что ты стал много советовать, но я исправляю тебя в соседней теме, а ты снова те же ошибки допускаешь! |
Я исправил что мне так сказали!Я так понимаю,что в функции shablonezatщr() не работают другие функции как connect(); sql(); Верно?А как сделать чтобы они заработали я не понимаю..
Спустя 39 секунд (31.12.2011 - 18:58) mid написал(а):
Вот и написал
Спустя 49 секунд (31.12.2011 - 18:59) johniek_comp написал(а):
inpost
Я раз почитал попробовал что это за глобал, и применил сразу вот так
у меня работает, наверно запутался где-то если говоришь что не прав.
Я раз почитал попробовал что это за глобал, и применил сразу вот так
$login = "admin";
$password = "admin";
$dbname = "news";
$sqlhost = "localhost";
function mysqlconnect ()
{
global $dbname;
global $sqlhost;
global $sqlusername;
global $sqlpassword;
global $connection;
$connection = mysql_connect($sqlhost,$sqlusername,$sqlpassword) or die (mysql_error());
$db = mysql_select_db($dbname) or die (mysql_error());
}
у меня работает, наверно запутался где-то если говоришь что не прав.
Спустя 59 секунд (31.12.2011 - 19:00) mid написал(а):
Цитата (inpost @ 31.12.2011 - 15:54) |
Я понимаю, что ты стал много советовать |
Ну а разве это плохо?
johniek_comp,тут в другом проблема..Понимаешь я использую в одной функции результат другой..Вот по этому и не работает..
Спустя 1 минута, 36 секунд (31.12.2011 - 19:01) mid написал(а):
А $sql это что то типо условия..ну если
то если использовать функцию так mid("ВАсек")
То в итоге выведеться: Васек
function mid($name){
echo $name;
}
то если использовать функцию так mid("ВАсек")
То в итоге выведеться: Васек
Спустя 3 минуты, 46 секунд (31.12.2011 - 19:05) johniek_comp написал(а):
mid
Цитата |
Ну а разве это плохо? |
Я просто когда на форум пришел, спрашивал типо такого: а че этот код делает?
$echo 'Happy New Year!';
а если без функций?
Спустя 1 час, 57 минут, 7 секунд (31.12.2011 - 21:02) mid написал(а):
Можно без функции..Но..Мне хочется научится работать с функциями..Тем более когда много sql Запросов функция sql которая у меня там есть,очень упрощает жизнь:)
Спустя 2 минуты, 32 секунды (31.12.2011 - 21:05) mid написал(а):
Ещё к ней надо дописать проверку,типо если есть уже такие переменные,которые создаются в той функции,удалять их,а остальное все оставить..
Спустя 11 минут, 8 секунд (31.12.2011 - 21:16) mid написал(а):
Все понял.Вот тут нужно было не так:
А так
Вот итог
function sql($sql){
$mysql_Q = mysql_query($sql);
global $mysql;
$mysql = mysql_fetch_array($mysql_Q);
}
А так
function sql($sql){
$mysql_Q = mysql_query($sql);
$mysql = mysql_fetch_array($mysql_Q);
return $mysql;
}
Вот итог
<?php
function connect($host,$user,$password,$table){
$mysql_C = mysql_connect($host,$user,$password);
mysql_select_db($table,$mysql_C);
}
function sql($sql){
$mysql_Q = mysql_query($sql);
$mysql = mysql_fetch_array($mysql_Q);
return $mysql;
}
function shablonezator()
{
$page = $_GET['page'];
if($page == '')
{
$url = "index.php?page=index";
header("Location:$url");
}
connect("localhost","cms","cms","cms");
$mysql_array = sql("SELECT `title`,`content` FROM `index` WHERE `page`='$page'");
$title = $mysql_array['title'];
$content = $mysql_array['content'];
$time = date("H");
if($time == '7' or $time == '8' or $time == '9' or $time == '10' or $time == '11')
{
$tpltitle = file_get_contents("templates/u/title.tpl");
$tplcontent = file_get_contents("templates/u/content.tpl");
$index = str_replace('{TITLE}',$title,$tpltitle);
$index .= str_replace('{CONTENT}',$content,$tplcontent);
echo $index;
exit();
}
if($time == '12' or $time == '13' or $time == '14' or $time == '15' or $time == '16' or $time == '17' or $time == '18' )
{
$tpltitle = file_get_contents("templates/d/title.tpl");
$tplcontent = file_get_contents("templates/d/content.tpl");
$index = str_replace('{TITLE}',$title,$tpltitle);
$index .= str_replace('{CONTENT}',$content,$tplcontent);
echo $index;
exit();
}
if($time == '19' or $time == '20')
{
$tpltitle = file_get_contents("templates/v/title.tpl");
$tplcontent = file_get_contents("templates/v/content.tpl");
$index = str_replace('{TITLE}',$title,$tpltitle);
$index .= str_replace('{CONTENT}',$content,$tplcontent);
echo $index;
exit();
}
if($time == '21' or $time == '22' or $time == '23' or $time == '24' or $time == '1' or $time == '2' or $time == '3' or $time == '4' or $time == '5' or $time == '6')
{
$tpltitle = file_get_contents("templates/n/title.tpl");
$tplcontent = file_get_contents("templates/n/content.tpl");
$index = str_replace('{TITLE}',$title,$tpltitle);
$index .= str_replace('{CONTENT}',$content,$tplcontent);
echo $index;
exit();
}
}
?>
Спустя 12 минут, 56 секунд (31.12.2011 - 21:29) Winston написал(а):
Цитата (mid @ 31.12.2011 - 20:16) |
function sql($sql){ $mysql_Q = mysql_query($sql); $mysql = mysql_fetch_array($mysql_Q); return $mysql; } |
У тебя будет всегда возвращаться только 1 запись, даже если в результате запроса будет несколько. Лучше так написать:
Свернутый текст
function sql($sql){
if(!is_resource($sql))
{
$data = array();
$mysql_Q = mysql_query($sql);
while($mysql = mysql_fetch_array($mysql_Q))
$data[] = $mysql;
return $data;
}
else
return $sql
}
Цитата (mid @ 31.12.2011 - 20:16) |
if($time == '12' or $time == '13' or $time == '14' or $time == '15' or $time == '16' or $time == '17' or $time == '18' ) |
Зачем числа брать в одинарные кавычки, я так и не понял :huh:
Цитата (mid @ 31.12.2011 - 20:16) |
if($page == '') { $url = "index.php?page=index"; header("Location:$url"); } |
Замени на
if(empty($page))
{
$url = "index.php?page=index";
header("Location:$url");
exit;
}
Цитата (mid @ 31.12.2011 - 20:16) |
if($time == '7' or $time == '8' or $time == '9' or $time == '10' or $time == '11') |
Можно заменить на:
if($time >= 7 && $time <= 11)
Это
Цитата (mid @ 31.12.2011 - 20:16) |
if($time == '12' or $time == '13' or $time == '14' or $time == '15' or $time == '16' or $time == '17' or $time == '18' ) |
На это
if($time >= 12 && $time <= 18)
Ну и это
Цитата (mid @ 31.12.2011 - 20:16) |
if($time == '21' or $time == '22' or $time == '23' or $time == '24' or $time == '1' or $time == '2' or $time == '3' or $time == '4' or $time == '5' or $time == '6') |
На
if(($time >= 1 && $time <= 6) || ($time >= 21 && $time <= 24))
Это
Цитата (mid @ 31.12.2011 - 20:16) |
$index = str_replace('{TITLE}',$title,$tpltitle); $index .= str_replace('{CONTENT}',$content,$tplcontent); |
Можно вынести в ф-ю.
Ну это так... на первый взгляд.
Спустя 22 минуты, 13 секунд (31.12.2011 - 21:51) johniek_comp написал(а):
Winston
фига се...уже выпил за столом?
фига се...уже выпил за столом?
Спустя 2 минуты, 26 секунд (31.12.2011 - 21:54) Winston написал(а):
Цитата (johniek_comp @ 31.12.2011 - 20:51) |
фига се...уже выпил за столом? |
Трезвенники не пьют
Спустя 1 час, 18 минут (31.12.2011 - 23:12) inpost написал(а):
johniek_comp
Представим на секундочку, что каждый твой шаг должен быть логичный абсолютно!
У нас есть переменная (значение, которое меняется) и Константа (которая не меняется, одна навсегда).
Теперь у нас есть параметры для соединения с БД ОДНИ навсегда, значит это у что? Правильно, константа(!), прямая логика. А константа видна везде, она суперглобальная, и постоянно global писать не надо. И твои 10 строк можно заменить на 5, + выиграть в обычной логике приложений.
mid
То я не тебе писал. Тебе - изучи стиль, исправь и выстави обновленный код, если хочешь, чтобы я помог тебе
Представим на секундочку, что каждый твой шаг должен быть логичный абсолютно!
У нас есть переменная (значение, которое меняется) и Константа (которая не меняется, одна навсегда).
Теперь у нас есть параметры для соединения с БД ОДНИ навсегда, значит это у что? Правильно, константа(!), прямая логика. А константа видна везде, она суперглобальная, и постоянно global писать не надо. И твои 10 строк можно заменить на 5, + выиграть в обычной логике приложений.
mid
То я не тебе писал. Тебе - изучи стиль, исправь и выстави обновленный код, если хочешь, чтобы я помог тебе
Спустя 2 часа, 17 минут, 21 секунда (1.01.2012 - 01:29) Ramzil_Nixon написал(а):
mid, зачем ты в каждой странице подключаешь базу? не легче создать файл, записать туда данные подключения, и просто инклюдировать?
_____________
По любому вопросу : programmer-php@mail.ru