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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: проблемка с объединением двух функций
DonQuijote
Отправлено: 08 Мая, 2015 - 21:17:31
Post Id


Новичок


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


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




Здравствуйте форумчане! Помогите решить задачку.
Во общем нужно что бы выводилось меню из БД и формировались ссылки. Всё в цикле.
Примерно так: <a href="вставка из БД(index.php?id=1)"><img src="вставка из БД"</a>
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if ($result = $mysqli->query("SELECT * FROM `honors` WHERE `cat_honors`='Высшие'")) {
  3.            
  4. while ($row = $result->fetch_assoc()) {
  5. echo '<a href="#">';
  6. echo '<div id="honor">';
  7. echo '<img src="/honors/images/small/'.$row['img_small'].'.jpg" />';
  8. echo '<div>'.$row['title'].'</div>';
  9. echo '</div>';
  10. echo '</a>';
  11. }
  12. $result->close();
  13. }
  14. ?>
  15.  

index.php
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. include ('db_conn.php');
  4. include ('functions.php');
  5. if(!isset($_GET['hon_id'])){
  6.    $hon_id = '1';
  7. }
  8. else{
  9.    $hon_id = addslashes(strip_tags(trim($_GET['hon_id'])));
  10. }
  11. $hon_data = GetDataArt($hon_id);
  12. ?>
  13. <!DOCTYPE html>
  14. <html>
  15. <head>
  16. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  17. <title><?php echo $hon_data[1];?></title>
  18. <meta name="description" content="<?php echo $hon_data[3];?>" />
  19. <meta name="keywords" content="<?php echo $hon_data[2];?>" />
  20. <link rel="stylesheet" type="text/css" href="../site/css/style.css" />
  21. </head>
  22. <body>
  23. <div id="page">
  24.     <div id="header">
  25.     </div>
  26.     <div id="menu">
  27.         <ul>
  28.             <li><a href="/dinamic-site-mysql/site2/<?php echo $hon_id; ?>">Главная</a></li>
  29.             <li><a href="/dinamic-site-mysql/site2/index.php?hon_id=2">О нас</a></li>
  30.             <li><a href="/dinamic-site-mysql/site2/index.php?hon_id=3">Статья</a></li>
  31.             <li><a href="/dinamic-site-mysql/site2/index.php?hon_id=4">Фотогалерея</a></li>
  32.             <li><a href="/dinamic-site-mysql/site2/index.php?hon_id=5">Контакты</a></li>
  33.         </ul>
  34.     </div>
  35.     <div id="content">
  36.         <h1><?php echo $hon_data[0];?></h1>
  37.         <?php echo $hon_data[4];?>
  38.     </div>
  39.     <div class="clear"></div>
  40.     <div id="footer">
  41.         <p>&copy; Некая информация</p>
  42.     </div>
  43. </div>
  44. </body>
  45. </html>
  46.  


functions.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. function GetDataArt($hon_id){
  4.   $sel = "SELECT `title`,`meta_d`,`meta_kw`,`content` FROM `honors` WHERE `id` = '$hon_id' LIMIT 1";
  5.   $query = mysql_query($sel);
  6.   if(!$query){
  7. echo('Не удалось взять данные из БД!');
  8.   }
  9.   else{
  10. if(mysql_num_rows($query)>0){
  11.   $res = mysql_fetch_array($query);
  12.   $title = $res['title'];
  13.   $page_title = $res['title'];
  14.   $meta_kw = $res['meta_kw'];
  15.   $meta_d = $res['meta_d'];
  16.   $content = $res['content'];
  17. }
  18. else{
  19.   $title = 'К сожалению, такая страница отсутствует на данном сайте!';
  20.   $page_title = 'К сожалению, такая страница отсутствует на данном сайте!';
  21.   $meta_kw = $meta_d = $content = '';
  22. }
  23. $data_arr = array($title, $page_title, $meta_kw, $meta_d, $content);
  24. return $data_arr;
  25.   }
  26. }
  27. ?>
  28.  

db_conn.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.   $dbase=mysql_connect('localhost', 'root', '');
  4.   if(!$dbase){
  5. ?>
  6. <!DOCTYPE html>
  7. <html>
  8. <head>
  9.   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  10.   <title>Не могу подключиться к БД</title>
  11. </head>
  12. <body>
  13.   <br /><br />  <h1 align="center">Проверьте настройки подключения к БД</h1>
  14. </body>
  15. </html>
  16. <?PHP
  17.   exit;
  18.   }
  19.   mysql_select_db('9may1945');
  20.   @mysql_query('set character_set_client="utf8"');
  21.   @mysql_query('set character_set_results="utf8"');
  22.   @mysql_query('set collation_connection="utf8_general_ci"');
  23. ?>
  24.  
 
 Top
exlant
Отправлено: 09 Мая, 2015 - 00:01:58
Post Id



Посетитель


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


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




Так, а что не работает? И почему используется разное API mysql u mysqli?
 
 Top
DonQuijote
Отправлено: 09 Мая, 2015 - 07:45:58
Post Id


Новичок


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


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




exlant пишет:
Так, а что не работает? И почему используется разное API mysql u mysqli?


По отдельности они работают нормально, но вот только я их вместе не могу сообразить как СОЕДИНИТЬ. На mysqli сам написал, а второе в инете нашёл, пытался найти как это всё в mysqli переделать, но как таковых учебников и ответов на русском я не нашёл.
 
 Top
exlant
Отправлено: 09 Мая, 2015 - 13:22:08
Post Id



Посетитель


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


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




Используйте только mysqli, mysql уже отмирает!
И между прочим, использовать разные api, для подключения к базе, в одном проекте то еще извращение!

Вы так и не написали, ЧТО ИМЕННО не работает! Где описание ошибки??? Где mysqli_error, или mysql_error?
 
 Top
DonQuijote
Отправлено: 09 Мая, 2015 - 18:00:51
Post Id


Новичок


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


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




exlant пишет:
Используйте только mysqli, mysql уже отмирает!
И между прочим, использовать разные api, для подключения к базе, в одном проекте то еще извращение!

Вы так и не написали, ЧТО ИМЕННО не работает! Где описание ошибки??? Где mysqli_error, или mysql_error?


Так вот мне надо там где на mysql сделать в mysqli, и какми то образом первый блок на mysqli внедрить в основную страницу. Что бы был единый код.

Ошибок нет.
 
 Top
exlant
Отправлено: 09 Мая, 2015 - 18:07:21
Post Id



Посетитель


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


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




ахах, ну тогда милости просим изучить следующее mysqli
 
 Top
DonQuijote
Отправлено: 09 Мая, 2015 - 18:11:58
Post Id


Новичок


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


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




exlant пишет:
ахах, ну тогда милости просим изучить следующее mysqli


Спасибо конечно бывал я там, но это всего лишь "словарь php".
Это всё равно что если бы ты спросил меня как рассчитывается полная процентная ставка по кредиту, и я бы отправил тебя почитать "Экономическую теорию" или Учение Маркса. Ты бы ничерта там не понял, так как всё основано на определениях и формулах
 
 Top
exlant
Отправлено: 09 Мая, 2015 - 18:14:36
Post Id



Посетитель


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


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




DonQuijote там все описано, и подано с хорошими примерами!
Или же вы мне предлагаете вам переписать то же, что уже там и так написано?
(Добавление)
и при чем здесь рассчитывание полной процентной ставки к "Экономической теорию" или Учению Маркса.

Я вам не предлагал, читать теорию программирования, или там теорию алгоритмов!
(Добавление)
совсем не тоже самое!
 
 Top
DonQuijote
Отправлено: 14 Мая, 2015 - 21:17:30
Post Id


Новичок


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


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




Вот у меня такая страница
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP include('config/db_connect.php');
  3. if(!isset($_GET['id'])){
  4.     $id = '1';
  5. }
  6. else{
  7.     $id = addslashes(strip_tags(trim($_GET['id'])));
  8. }
  9. ?>
  10. <!doctype html>
  11. <html>
  12. <head>
  13. <meta charset="utf-8">
  14. <title>Ордена и Медали</title>
  15. <link href="css/main-style.css" rel="stylesheet" type="text/css">
  16. </head>
  17.  
  18. <body>
  19. <h1>Высшие степени отличия</h1>
  20. <?PHP
  21. if ($result = $mysqli->query("SELECT * FROM `honors` WHERE `cat_honors`='Высшие'")) {
  22.  
  23.         while ($row = $result->fetch_assoc()) {
  24.         echo '<a href="/from_db.php?id='.$row['id'].'">';
  25.         echo '<div id="honor">';
  26.         echo '<img src="/honors/images/small/'.$row['img_small'].'.jpg" />';
  27.         echo '<div>'.$row['title'].'</div>';
  28.         echo '</div>';
  29.         echo '</a>';
  30.         }
  31.         $result->close();
  32. }
  33. ?>
  34. <div><?PHP echo $row['content'];?></div>
  35. <h1>Ордена</h1>
  36. <?PHP
  37. if ($result = $mysqli->query("SELECT * FROM `honors` WHERE `cat_honors`='Ордена'")) {
  38.  
  39.         while ($row = $result->fetch_assoc()) {
  40.         echo '<a href="/from_db.php?id='.$row['id'].'">';
  41.         echo '<div id="honor">';
  42.         echo '<img src="/honors/images/small/'.$row['img_small'].'.jpg" />';
  43.         echo '<div>'.$row['title'].'</div>';
  44.         echo '</div>';
  45.         echo '</a>';
  46.         }
  47.         $result->close();
  48. }
  49. ?>
  50. <h1>Медали</h1>
  51. <?PHP
  52. if ($result = $mysqli->query("SELECT * FROM `honors` WHERE `cat_honors`='Медали'")) {
  53.  
  54.         while ($row = $result->fetch_assoc()) {
  55.         echo '<a href="/from_db.php?id='.$row['id'].'">';
  56.         echo '<div id="honor">';
  57.         echo '<img src="/honors/images/small/'.$row['img_small'].'.jpg" />';
  58.         echo '<div>'.$row['title'].'</div>';
  59.         echo '</div>';
  60.         echo '</a>';
  61.         }
  62.         $result->close();
  63. }
  64. $mysqli->close();
  65. ?>
  66. </body>
  67. </html>
  68.  


ничего не происходит после нажатия на ссылку
Подскажите где ошибка
 
 Top
DeadCowsDontMoo
Отправлено: 15 Мая, 2015 - 17:30:15
Post Id


Забанен


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


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




DonQuijote пишет:
Вот у меня такая страница
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP include('config/db_connect.php');
  3. if(!isset($_GET['id'])){
  4.     $id = '1';
  5. }
  6. else{
  7.     $id = addslashes(strip_tags(trim($_GET['id'])));
  8. }
  9. ?>
  10. <!doctype html>
  11. <html>
  12. <head>
  13. <meta charset="utf-8">
  14. <title>Ордена и Медали</title>
  15. <link href="css/main-style.css" rel="stylesheet" type="text/css">
  16. </head>
  17.  
  18. <body>
  19. <h1>Высшие степени отличия</h1>
  20. <?PHP
  21. if ($result = $mysqli->query("SELECT * FROM `honors` WHERE `cat_honors`='Высшие'")) {
  22.  
  23.         while ($row = $result->fetch_assoc()) {
  24.         echo '<a href="/from_db.php?id='.$row['id'].'">';
  25.         echo '<div id="honor">';
  26.         echo '<img src="/honors/images/small/'.$row['img_small'].'.jpg" />';
  27.         echo '<div>'.$row['title'].'</div>';
  28.         echo '</div>';
  29.         echo '</a>';
  30.         }
  31.         $result->close();
  32. }
  33. ?>
  34. <div><?PHP echo $row['content'];?></div>
  35. <h1>Ордена</h1>
  36. <?PHP
  37. if ($result = $mysqli->query("SELECT * FROM `honors` WHERE `cat_honors`='Ордена'")) {
  38.  
  39.         while ($row = $result->fetch_assoc()) {
  40.         echo '<a href="/from_db.php?id='.$row['id'].'">';
  41.         echo '<div id="honor">';
  42.         echo '<img src="/honors/images/small/'.$row['img_small'].'.jpg" />';
  43.         echo '<div>'.$row['title'].'</div>';
  44.         echo '</div>';
  45.         echo '</a>';
  46.         }
  47.         $result->close();
  48. }
  49. ?>
  50. <h1>Медали</h1>
  51. <?PHP
  52. if ($result = $mysqli->query("SELECT * FROM `honors` WHERE `cat_honors`='Медали'")) {
  53.  
  54.         while ($row = $result->fetch_assoc()) {
  55.         echo '<a href="/from_db.php?id='.$row['id'].'">';
  56.         echo '<div id="honor">';
  57.         echo '<img src="/honors/images/small/'.$row['img_small'].'.jpg" />';
  58.         echo '<div>'.$row['title'].'</div>';
  59.         echo '</div>';
  60.         echo '</a>';
  61.         }
  62.         $result->close();
  63. }
  64. $mysqli->close();
  65. ?>
  66. </body>
  67. </html>
  68.  


ничего не происходит после нажатия на ссылку
Подскажите где ошибка


через какой-нибудь Нет-бинс уже прогнал? Синтаксических ошибок нет?
 
 Top
DonQuijote
Отправлено: 15 Мая, 2015 - 18:02:05
Post Id


Новичок


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


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




DeadCowsDontMoo пишет:

через какой-нибудь Нет-бинс уже прогнал? Синтаксических ошибок нет?


ну вроде нет только про $_GET говорит что нельзя напрямую обращаться, нужны какие-то типа фильтры
 
 Top
exlant
Отправлено: 15 Мая, 2015 - 18:42:29
Post Id



Посетитель


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


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




мда... не хотел сюда ничего писать, ну да ладно...

а собственно, что вы хотите, что бы произошло???
ну создали вы ссылки, ну а они же вести куда то должны!

я так понимаю from_db.php это имя файла, где находиться весь этот "код", что вы привели.
Вашими ссылками, вы ему передаете get параметр id, и все!!!! А ведь его нужно хоть как-то обрабатывать... добавьте куда то в код своего обработчика это
PHP:
скопировать код в буфер обмена
  1.  
  2. echo ($_GET['id']) ? 'параметр = '.$_GET['id'] : 'ничего не было передано';
  3.  

и увидите, что хоть что то происходит!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB