PHP.SU

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

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

> Найдено сообщений: 9
nullbyte Отправлено: 03 Июня, 2011 - 13:14:32 • Тема: Проблема с постраничной навигацией • Форум: Если скрипт не работает

Ответов: 2
Просмотров: 1240
Цитата:
Строки 23-25: нафига создавать три одинаковых объекта? (видимо еще и три активных подключения к базе)
Используйте синглтон, или на худой конец все тот же объект, но в единичном числе, обращаясь с запросами только к нему, присваивая результат разным переменным.

Спасибо, недосмотрел.
Цитата:
И поставьте в запросе класса для БД: mysql_query("xxx") or die(mysql_error());
Сделал.
Цитата:
Так надо: SELECT COUNT(*) cnt FROM `content`
Получите на выходе $res[0]['cnt'] содержащий число записей.

Сделал, вот что получил:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Warning: mysql_result(): supplied argument is not a valid MySQL result resource in Z:\home\managment\www\index.php on line 32
  2.  

PHP:
скопировать код в буфер обмена
  1.  
  2.         $connector = new database($configuration);
  3.  
  4.         $result['general'] = $connector -> query("SELECT * FROM `general` WHERE `destination` = '{$address["view"]}';");
  5.         $result['counter'] = $connector -> query("SELECT COUNT(*) count FROM `content`;");
  6.        
  7.         $view['general'] = mysql_fetch_assoc($result['general']);
  8.        
  9.         // Navigation start
  10.        
  11.         /* 32 строка */ $navigation['total'] = mysql_result($result[0]['count'], 0, 0);
  12.         $navigation['page'] = (int)$address['count'];
  13.                
  14.         $navigation['pages'] = ceil($navigation['total'] / $configuration['pages']);   
  15.        
  16.         if($navigation['page'] < 1)
  17.                 $navigation['page'] = 1;
  18.         if($navigation['page'] > $navigation['pages'])
  19.                 $navigation['page'] = $navigation['pages'];
  20.                
  21.         $navigation['start'] = ($navigation['page'] - 1) * $configuration['pages'];
  22.        
  23.         $result['content'] = $connector -> query("SELECT id, title, description, text, author, comments, tags FROM `content` WHERE `destination` = '{$address["view"]}' ORDER BY `id` ASC LIMIT {$navigation['start']}, {$configuration['pages']};");
  24.        
  25.         // Navigation ends
  26.        
  27.         require_once('./templates/'.$configuration['design'].'/index.temp.php');
  28.  
nullbyte Отправлено: 02 Июня, 2011 - 22:25:32 • Тема: Проблема с постраничной навигацией • Форум: Если скрипт не работает

Ответов: 2
Просмотров: 1240
Приветствую, форумчане!
Мучаю постраничную навигацию. Вроде все сделал, но вылезает вот такая ошибка - Cannot use string offset as an array in <...>. Вылезает тогда, когда перехожу на любую страницу, кроме первой.
На вывод идет:
PHP:
скопировать код в буфер обмена
  1. <title><?PHP echo $view['general']['title']; ?></title>

Контроллер:
PHP:
скопировать код в буфер обмена
  1.     <?PHP
  2.             require_once('./functions/application.php');
  3.            
  4.             // Get settings start
  5.            
  6.             if(isset($_GET['view']))
  7.                     $address['view'] = $_GET['view'];
  8.             else
  9.                     $address['view'] = 'index';
  10.                    
  11.             if(isset($_GET['module']))
  12.                     $address['module'] = $_GET['module'];
  13.             if(isset($_GET['action']))
  14.                     $address['action'] = $_GET['action'];
  15.                    
  16.             if(isset($_GET['count']))
  17.                     $address['count'] = $_GET['count'];
  18.             else
  19.                     $address['count'] = 1;
  20.                    
  21.             // Get settings ends
  22.                    
  23.             $select['general'] = new database($configuration);    
  24.             $select['counter'] = new database($configuration);
  25.             $select['content'] = new database($configuration);
  26.      
  27.             $result['general'] = $select['general'] -> query("SELECT * FROM `general` WHERE `destination` = '{$address["view"]}';");
  28.             $result['counter'] = $select['counter'] -> query("SELECT COUNT(*) FROM `content` WHERE 1");
  29.            
  30.             $view['general'] = mysql_fetch_assoc($result['general']);
  31.            
  32.             // Navigation start
  33.            
  34.             $navigation['total'] = mysql_result($result['counter'], 0, 0);
  35.             $navigation['page'] = (int)$address['count'];
  36.                    
  37.             $navigation['pages'] = ceil($navigation['total'] / $configuration['pages']);  
  38.            
  39.             if($navigation['page'] < 1)
  40.                     $navigation['page'] = 1;
  41.             if($navigation['page'] > $navigation['pages'])
  42.                     $navigation['page'] = $navigation['pages'];
  43.                    
  44.             $navigation['start'] = ($navigation['page'] - 1) * $configuration['pages'];
  45.            
  46.             $result['content'] = $select['content'] -> query("SELECT id, title, description, text, author, comments, tags FROM `content` WHERE `destination` = '{$address["view"]}' ORDER BY `id` ASC LIMIT {$navigation['start']}, {$configuration['pages']};");
  47.            
  48.             // Navigation ends
  49.            
  50.             require_once('./templates/'.$configuration['design'].'/index.temp.php');
  51.     ?>

Прошу помочь, кто знает =))
nullbyte Отправлено: 31 Мая, 2011 - 18:38:06 • Тема: Cannot use string offset as an array in <...> • Форум: Если скрипт не работает

Ответов: 0
Просмотров: 2743
Приветствую, форумчане!
Мучаю постраничную навигацию. Вроде все сделал, но вылезает вот такая ошибка - Cannot use string offset as an array in <...> on line 5 в шаблоне:
PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.  
  4.         <head>
  5.                 <title><?PHP echo $view['general']['title']; ?></title>
  6.                
  7.                 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8.                 <meta name="keywords" content="<?PHP echo $view['general']['keywords']; ?>" />
  9.                 <meta name="description" content="<?PHP echo $view['general']['description']; ?>" />
  10.                
  11.                 <link href="./templates/<?PHP echo $configuration['design']; ?>/resources/styles/main.css" rel="stylesheet" type="text/css" />
  12.                 <link href="./templates/<?PHP echo $configuration['design']; ?>/resources/styles/news.css" rel="stylesheet" type="text/css" />
  13.                 <link href="./templates/<?PHP echo $configuration['design']; ?>/resources/styles/footer.css" rel="stylesheet" type="text/css" />
  14.                 <link href="./templates/<?PHP echo $configuration['design']; ?>/resources/styles/header.css" rel="stylesheet" type="text/css" />
  15.                 <link href="./templates/<?PHP echo $configuration['design']; ?>/resources/styles/shadow.css" rel="stylesheet" type="text/css" />
  16.                 <link href="./templates/<?PHP echo $configuration['design']; ?>/resources/styles/content.css" rel="stylesheet" type="text/css" />              
  17.                 <link href="./templates/<?PHP echo $configuration['design']; ?>/resources/styles/location.css" rel="stylesheet" type="text/css" />             
  18.                 <link href="./templates/<?PHP echo $configuration['design']; ?>/resources/styles/navigation.css" rel="stylesheet" type="text/css" />           
  19.         </head>
  20.  
  21.         <body> 
  22.                 <div class="wrapper">          
  23.                         <?PHP require_once("./templates/".$configuration['design']."/resources/blocks/logotype.temp.php"); ?>
  24.                         <table class="layout">
  25.                                 <tr>                   
  26.                                         <td class="shadow_left_top"></td>
  27.                                         <?PHP require_once("./templates/".$configuration['design']."/resources/blocks/header.temp.php"); ?>
  28.                                         <td class="shadow_right_top"></td>
  29.                                 </tr>
  30.                                 <tr>
  31.                                         <td class="shadow_left"></td>
  32.                                         <td class="middle">
  33.                                                 <table class="content_block">
  34.                                                         <tr>
  35.                                                                 <?PHP require_once("./templates/".$configuration['design']."/resources/blocks/sidebar.temp.php"); ?>                                                           
  36.                                                                 <?PHP require_once("./templates/".$configuration['design']."/resources/blocks/content.temp.php"); ?>                                                           
  37.                                                         </tr>
  38.                                                 </table>
  39.                                         </td>
  40.                                         <td class="shadow_right"></td>
  41.                                 </tr>
  42.                                 <tr>
  43.                                         <td class="shadow_left_bottom"></td>
  44.                                         <?PHP require_once("./templates/".$configuration['design']."/resources/blocks/footer.temp.php"); ?>
  45.                                         <td class="shadow_right_bottom"></td>
  46.                                 </tr>
  47.                         </table>
  48.                 </div>
  49.         </body>
  50.        
  51. </html>

Контроллер:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         require_once('./functions/application.php');
  3.        
  4.         // Get settings start
  5.        
  6.         if(isset($_GET['view']))
  7.                 $address['view'] = $_GET['view'];
  8.         else
  9.                 $address['view'] = 'index';
  10.                
  11.         if(isset($_GET['module']))
  12.                 $address['module'] = $_GET['module'];
  13.         if(isset($_GET['action']))
  14.                 $address['action'] = $_GET['action'];
  15.                
  16.         if(isset($_GET['count']))
  17.                 $address['count'] = $_GET['count'];
  18.         else
  19.                 $address['count'] = 1;
  20.                
  21.         // Get settings ends
  22.                
  23.         $select['general'] = new database($configuration);     
  24.         $select['counter'] = new database($configuration);
  25.         $select['content'] = new database($configuration);
  26.  
  27.         $result['general'] = $select['general'] -> query("SELECT * FROM `general` WHERE `destination` = '{$address["view"]}';");
  28.         $result['counter'] = $select['counter'] -> query("SELECT COUNT(*) FROM `content` WHERE 1");
  29.        
  30.         $view['general'] = mysql_fetch_assoc($result['general']);
  31.        
  32.         // Navigation start
  33.        
  34.         $navigation['total'] = mysql_result($result['counter'], 0, 0);
  35.         $navigation['page'] = (int)$address['count'];
  36.                
  37.         $navigation['pages'] = ceil($navigation['total'] / $configuration['pages']);   
  38.        
  39.         if($navigation['page'] < 1)
  40.                 $navigation['page'] = 1;
  41.         if($navigation['page'] > $navigation['pages'])
  42.                 $navigation['page'] = $navigation['pages'];
  43.                
  44.         $navigation['start'] = ($navigation['page'] - 1) * $configuration['pages'];
  45.        
  46.         $result['content'] = $select['content'] -> query("SELECT id, title, description, text, author, comments, tags FROM `content` WHERE `destination` = '{$address["view"]}' ORDER BY `id` ASC LIMIT {$navigation['start']}, {$configuration['pages']};");
  47.        
  48.         // Navigation ends
  49.        
  50.         require_once('./templates/'.$configuration['design'].'/index.temp.php');
  51. ?>

Помогите пожалуйста Хм
nullbyte Отправлено: 28 Мая, 2011 - 20:09:18 • Тема: Вывод из БД, цикл while() • Форум: Работа с СУБД

Ответов: 6
Просмотров: 3272
Жаль что пока не могу нажать "Спасибо". Действительно, помогло просто закомментировать одну строчку =))
nullbyte Отправлено: 28 Мая, 2011 - 20:03:29 • Тема: Вывод из БД, цикл while() • Форум: Работа с СУБД

Ответов: 6
Просмотров: 3272
Ну, это нужно для постраничной навигации, сегодня взялся ее делать, до этого выводились просто данные, без страниц, и была таже проблема. Если ставлю вместо while(), do-while(), все отображает правильно.
nullbyte Отправлено: 28 Мая, 2011 - 19:55:15 • Тема: Вывод из БД, цикл while() • Форум: Работа с СУБД

Ответов: 6
Просмотров: 3272
Ну, у меня просто такая структура запроса:
PHP:
скопировать код в буфер обмена
  1.  
  2. $select['content'] = new database($configuration);
  3.  
  4. $result['content'] = $select['content'] -> query("SELECT id, title, description, text, author, comments, tags FROM `content` WHERE `destination` = '{$address["view"]}' ORDER BY `id` ASC LIMIT {$navigation['start']}, {$configuration['pages']};");
  5.  
nullbyte Отправлено: 28 Мая, 2011 - 19:50:05 • Тема: Вывод из БД, цикл while() • Форум: Работа с СУБД

Ответов: 6
Просмотров: 3272
Всем привет!
Столкнулся с проблемой при выводе данных из БД:
PHP:
скопировать код в буфер обмена
  1.  
  2. while($view['content'] = mysql_fetch_assoc($result['content']))
  3. {
  4.         echo "<div class=\"news\">\n";
  5.         echo "  <div class=\"news_title\">".$view['content']['title']."</div>\n";
  6.         echo "  <p class=\"news_description\">".$view['content']['description']."</p>\n";
  7.         echo "  <div class=\"news_information\">\n";
  8.         echo "          <div class=\"news_item_author\">".$view['content']['author']."</div>\n";
  9.         echo "          <div class=\"news_item_comments\">Коментарів &mdash; ".$view['content']['comments']."</div>\n";
  10.         echo "  </div>\n";
  11.         echo "</div>\n";                               
  12. }
  13.  

У меня три новости, выводятся вторая и третья, первая игнорируется. Растерялся
nullbyte Отправлено: 15 Мая, 2011 - 10:20:10 • Тема: Вложенные массивы • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 34
Благодарю! Если бы мог, поставил спасибку =))
Для тех, у кого аналогичная проблема:
PHP:
скопировать код в буфер обмена
  1. $result['general'] = $select['general'] -> query("SELECT * FROM `general` WHERE `destination` = '{$address["page"]}';");
  2. $result['content'] = $select['content'] -> query("SELECT * FROM `content` WHERE `destination` = '{$address["page"]}';");
nullbyte Отправлено: 14 Мая, 2011 - 21:06:06 • Тема: Вложенные массивы • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 34
Приветствую!
Есть скрипт главной страницы:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         require_once('./functions/application.php');
  3.  
  4.         if(isset($_GET['page']))
  5.                 $address['page'] = $_GET['page'];
  6.         else
  7.                 $address['page'] = 'index';
  8.                
  9.         if(isset($_GET['action']))
  10.                 $address['action'] = $_GET['action'];
  11.         if(isset($_GET['identifier']))
  12.                 $address['identifier'] = $_GET['identifier'];
  13.                
  14.         $select['general'] = new database($configuration);
  15.         $select['content'] = new database($configuration);
  16.        
  17.         $result['general'] = $select['general'] -> query('SELECT * FROM general WHERE destination = `{$address[\'page\']}`;');
  18.         $result['content'] = $select['content'] -> query('SELECT * FROM content WHERE destination = `{$address[\'page\']}`;');
  19.        
  20.         $view['general'] = mysql_fetch_assoc($result['general']);
  21.        
  22.         require_once('./templates/'.$configuration['design'].'/index.temp.php');
  23. ?>

Чтобы не засорять global scope, решил использовать ассоциативные массивы. В строке номер 20 ($view['general'] = mysql_fetch_assoc($result['general']);) вылезает ошибка: "mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource". Хотелось бы узнать, можно ли вообще использовать массивы в данном случае и как обращаться, в последствии, к их элементам?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB