Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: php + mysql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
winddancer
Отправлено: 26 Апреля, 2015 - 17:03:56
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Многоуважаемые форумчане. Есть такая делема. Раньше я обращался к форуму, не мог составить линки на сайте, до недавних пор попал в гугле на ПРАВИЛЬНУЮ тему не о ссыхках в php, а дин. генерация страниц. Это было то, что мне надо. Пошёл дальше. Решил отказаться от файлов(ибо в том сайте, который я хочу создать будет тысячи страничек).
Итак.
Есть меню. Оно расположено в файле menu.php, подключеному к индексу.
PHP:
скопировать код в буфер обмена
  1. $b = mysql_query("SELECT id, name, url FROM sms_menu_site");
  2. while($row = mysql_fetch_array($b))
  3. {
  4.         $value = $row['name'];
  5.         $key = $row['url'];
  6.         $id = $row['id'];
  7.         if($_GET['page']==$value)
  8.         {
  9.        echo $result[$_GET['page']];
  10.         }
  11.         else
  12.         {
  13.       echo '<a href="'.$key.'">'.$value.'</a>' . ' | ';
  14.         }
  15. }

Есть content.php аналогично подключенный.
PHP:
скопировать код в буфер обмена
  1. $content = mysql_query("SELECT id, title, text, date FROM sms_mainpage");
  2. $b = mysql_query("SELECT id, name, url FROM sms_menu_site");
  3. if ($_GET['url'].$b = 'main')
  4. {
  5.         while($content1 = mysql_fetch_array($content))
  6.         {
  7.                 $id = $content1['id'];
  8.                 $title = $content1['title'];
  9.                 $text = $content1['text'];
  10.                 $date = $content1['date'];
  11.                 echo $title . "<br>" . $text . "<br><hr><br>";
  12.         }
  13. }
  14. else {readfile ('content/1st.php');}


Оно выводит всё из таблицы sms_mainpage, но при переключении всё равно показ идёт с той таблички.

Вопрос: Что я раздолбай делаю не так. Прошу конкретно тыкнуть, чтобы я разобрался. Разберусь - +100 к карме того, кто мне объяснил. Благодарю.
 
 Top
file.shreder
Отправлено: 26 Апреля, 2015 - 17:08:45
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014  


Помог: 2 раз(а)

[+]


PHP:
скопировать код в буфер обмена
  1.  
  2. $datas = array();
  3. while($content1 = mysqli_fetch_assoc($content)) (
  4. $datas[] = $content1;
  5. }
  6. foreach ($datas as $data):
  7. $id = $data['id'];
  8.                 $title= $data['title'];
  9.                  $title= $data['text'];
  10.                  echo $data['date'];
  11.                 echo $title . "<br>" . $text . "<br><hr><br>";
  12. endforeach;
  13.  
  14.  

(Отредактировано автором: 26 Апреля, 2015 - 17:10:16)

 
 Top
winddancer
Отправлено: 26 Апреля, 2015 - 17:18:30
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




file.shreder пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. $datas = array();
  3. while($content1 = mysqli_fetch_assoc($content)) (
  4. $datas[] = $content1;
  5. }
  6. foreach ($datas as $data):
  7. $id = $data['id'];
  8.                 $title= $data['title'];
  9.                  $title= $data['text'];
  10.                  echo $data['date'];
  11.                 echo $title . "<br>" . $text . "<br><hr><br>";
  12. endforeach;
  13.  
  14.  


Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, resource given on line 20
Если меняю с mysqli_fetch_assoc на mysql_fetch_assoc - отображает данные, но опять не реагирует на переключение ссылок.
 
 Top
file.shreder
Отправлено: 26 Апреля, 2015 - 17:22:55
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014  


Помог: 2 раз(а)

[+]


Цитата:
Если меняю с mysqli_fetch_assoc на mysql_fetch_assoc - отображает данные, но опять не реагирует на переключение ссылок.

Так ты ж и в запросе используй не MYSQL а MYSQLI!!!!

]
PHP:
скопировать код в буфер обмена
  1. $b = mysqli_query($db, "SELECT id, name, url FROM sms_menu_site");

где $db - переменная с параметрами подключения, вернее с ее помощью уже произвелось подключение ранее, MYSQL - не актуально читай про MYSQLI
 
 Top
winddancer
Отправлено: 26 Апреля, 2015 - 17:26:29
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




file.shreder пишет:
Цитата:
Если меняю с mysqli_fetch_assoc на mysql_fetch_assoc - отображает данные, но опять не реагирует на переключение ссылок.

Так ты ж и в запросе используй не MYSQL а MYSQLI!!!!

]
PHP:
скопировать код в буфер обмена
  1. $b = mysqli_query($db, "SELECT id, name, url FROM sms_menu_site");

где $db - переменная с параметрами подключения, вернее с ее помощью уже произвелось подключение ранее, MYSQL - не актуально читай про MYSQLI


Понимаю, но я в даный момент использую Denwer с не установленым модулем MySQLi.
По сему и просил по MySQL помочь ;) Всё же, есть надежда от Вас получить помощь в конкретном вопросе с конкретными "неактуальными" технологиями.
 
 Top
file.shreder
Отправлено: 26 Апреля, 2015 - 17:28:34
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014  


Помог: 2 раз(а)

[+]


 
 Top
winddancer
Отправлено: 26 Апреля, 2015 - 17:30:57
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




file.shreder пишет:


Здесь я и обращу внимание на то, что я этот вариант уже пробовал ранее(проскрольте выше). Там я указал, что реакции на переключение ссылок - ноль.
 
 Top
file.shreder
Отправлено: 26 Апреля, 2015 - 17:36:24
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014  


Помог: 2 раз(а)

[+]


в чем вообще суть?
(Добавление)
не говоришь ли ты о новостях и о ссылках типа читать далее?
(Добавление)
вот это вот что такое?
(Добавление)
как это ты
PHP:
скопировать код в буфер обмена
  1. mysql_query("SELECT id, name, url FROM sms_menu_site");

это
поместил в вот это
 
 Top
winddancer
Отправлено: 26 Апреля, 2015 - 17:44:25
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




file.shreder пишет:
в чем вообще суть?
(Добавление)
не говоришь ли ты о новостях и о ссылках типа читать далее?



Нажмите для увеличения


Вот то, что у меня есть. если кнопать по ссылкам - всё время отображается только "новости" в главной, а не тексты с других страничек.

(Отредактировано автором: 26 Апреля, 2015 - 17:45:02)

 
 Top
file.shreder
Отправлено: 26 Апреля, 2015 - 17:44:41
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014  


Помог: 2 раз(а)

[+]


если ты говоришь о выборке из базы того материала, для которого ты перешел по ссылке, то в строке запроса нужно передавать идентификатор, например ID
 
 Top
winddancer
Отправлено: 26 Апреля, 2015 - 17:46:34
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




file.shreder пишет:
если ты говоришь о выборке из базы того материала, для которого ты перешел по ссылке, то в строке запроса нужно передавать идентификатор, например ID

Для этого я и сделал вот этот фрагмент


Вопрос... как сделать при нажатии на главную вывод новости, а на остальные else {readfile ('content/1st.php');} ?
 
 Top
file.shreder
Отправлено: 26 Апреля, 2015 - 17:51:28
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014  


Помог: 2 раз(а)

[+]


та ты не так по ходу все делаешь
 
 Top
winddancer
Отправлено: 26 Апреля, 2015 - 17:52:48
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




file.shreder пишет:
та ты не так по ходу все делаешь

Если бы всё делал так, сюда бы не обращался Закатив глазки
 
 Top
file.shreder
Отправлено: 26 Апреля, 2015 - 17:54:48
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014  


Помог: 2 раз(а)

[+]


смотри как можно примитивно сделать

стартовый файл
PHP:
скопировать код в буфер обмена
  1. require 'configurations.php';
  2. include 'templates/header.php';
  3. include "news_block.php";
  4. include"info.php";
  5. include 'templates/content.php';
  6.  
  7.  
  8. include 'templates/footer.php';

(Добавление)
нам важно content.php
(Добавление)
content.php
PHP:
скопировать код в буфер обмена
  1. <div id="content">
  2. <?include 'admin/includes/controllers/controller.php';?>
  3. </div>

(Добавление)
controllers.php
PHP:
скопировать код в буфер обмена
  1. $controllers_page = array
  2.     (
  3.         'page'=>'pages.php',
  4.         'news'=>'news.php',
  5.         'readnews'=>'full.php'
  6.         );
  7.        
  8.        
  9.         if(!isset($_GET['do'])) {
  10.        include('main_page.php');
  11.          }

(Добавление)
а ссылки передаешь например так
CODE (html):
скопировать код в буфер обмена
  1. <a href="?do=news">Все статьи</a>

(Добавление)
но если у нас не нажата ссылка никакая то по умолчанию
PHP:
скопировать код в буфер обмена
  1. if(!isset($_GET['do'])) {
  2.        include('main_page.php');
  3.          }

главная страница
(Добавление)
и проверка на нажатие и включение файла по ссылке
PHP:
скопировать код в буфер обмена
  1. foreach($controllers_page as $cname=>$cfile):
  2.           if($_GET['do']==$cname)
  3.           include($cfile);
  4.             endforeach;

(Отредактировано автором: 26 Апреля, 2015 - 17:58:06)

 
 Top
winddancer
Отправлено: 26 Апреля, 2015 - 18:08:33
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




file.shreder пишет:
смотри как можно примитивно сделать

стартовый файл
PHP:
скопировать код в буфер обмена
  1. require 'configurations.php';
  2. include 'templates/header.php';
  3. include "news_block.php";
  4. include"info.php";
  5. include 'templates/content.php';
  6.  
  7.  
  8. include 'templates/footer.php';

(Добавление)
нам важно content.php
(Добавление)
content.php
PHP:
скопировать код в буфер обмена
  1. <div id="content">
  2. <?include 'admin/includes/controllers/controller.php';?>
  3. </div>

(Добавление)
controllers.php
PHP:
скопировать код в буфер обмена
  1. $controllers_page = array
  2.     (
  3.         'page'=>'pages.php',
  4.         'news'=>'news.php',
  5.         'readnews'=>'full.php'
  6.         );
  7.        
  8.        
  9.         if(!isset($_GET['do'])) {
  10.        include('main_page.php');
  11.          }

(Добавление)
а ссылки передаешь например так
CODE (html):
скопировать код в буфер обмена
  1. <a href="?do=news">Все статьи</a>

(Добавление)
но если у нас не нажата ссылка никакая то по умолчанию
PHP:
скопировать код в буфер обмена
  1. if(!isset($_GET['do'])) {
  2.        include('main_page.php');
  3.          }

главная страница
(Добавление)
и проверка на нажатие и включение файла по ссылке
PHP:
скопировать код в буфер обмена
  1. foreach($controllers_page as $cname=>$cfile):
  2.           if($_GET['do']==$cname)
  3.           include($cfile);
  4.             endforeach;


Действительно по примитивному, как Вы выразились Улыбка

В php only сделать мне не проблема.


Это меню.
PHP:
скопировать код в буфер обмена
  1.  
  2. $pages=array(
  3.   'about'=>'Первая страница',
  4.   'contacts'=>'Вторая страница'
  5. );
  6. foreach($pages as $key=>$value)
  7. {
  8.  
  9.     if($_GET['page']==$value)
  10.   {
  11.        echo $pages[$_GET['page']];
  12.   }
  13.   else
  14.   {
  15.       echo '<a href="'.$key.'">'.$value.'</a>';
  16.   }
  17.          echo "<br />";
  18. }
  19.  


Это контент.
PHP:
скопировать код в буфер обмена
  1. if(array_key_exists ($_GET['page'],$pages))
  2.       readfile('txt/'.$_GET['page'].'.htm');
  3. else
  4.      readfile('txt/about.htm');


И по делам. Но мне надо не просто php, а php+MySQL.
Соответственно я сделал меню.
PHP:
скопировать код в буфер обмена
  1. $b = mysql_query("SELECT id, name, url FROM sms_menu_site");
  2. while($row = mysql_fetch_array($b))
  3. {
  4.         $value = $row['name'];
  5.         $key = $row['url'];
  6.         $id = $row['id'];
  7.         if($_GET['page']==$value)
  8.         {
  9.        echo $result[$_GET['page']];
  10.         }
  11.         else
  12.         {
  13.       echo '<a href="'.$key.'">'.$value.'</a>' . ' | ';
  14.         }
  15. }


И создал content....
PHP:
скопировать код в буфер обмена
  1. $content = mysql_query("SELECT id, title, text, date FROM sms_mainpage");
  2. $b = mysql_query("SELECT id, name, url FROM sms_menu_site");
  3. if ($_GET['url'].$b = 'main')
  4. {
  5.         while($content1 = mysql_fetch_array($content))
  6.         {
  7.                 $id = $content1['id'];
  8.                 $title = $content1['title'];
  9.                 $text = $content1['text'];
  10.                 $date = $content1['date'];
  11.                 echo $title . "<br>" . $text . "<br><hr><br>";
  12.         }
  13. }
  14. else {readfile ('content/1st.php');}


А это мой .htaccess
CODE (htmlphp):
скопировать код в буфер обмена
  1. AddDefaultCharset utf-8
  2.  
  3. RewriteEngine on
  4.  
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7.  
  8. RewriteRule ^([a-z0-9]+) index.php?page=$1

(Он у меня красавчик делает так, чтобы небыло "несуществующих страниц")
(Добавление)
И к посту выше. Когда я убрал .htaccess при нажатии на любую ссылку - пишет, что страница не найдена.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB