PHP.SU

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

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

> Найдено сообщений: 1
mro Отправлено: 14 Октября, 2011 - 16:39:28 • Тема: проблема с цыклом • Форум: Вопросы новичков

Ответов: 0
Просмотров: 58
сильно не пинайте, только начал изучать ПХП

создаю клас для работы с базой данных с использованием PDO

есть метод класа который выводит содержымое таблицы в зависимости от переданых в него имен столбцов или вывод всех столбцов по дефолту

при выводе всех столбцов работает, при выводе кастомных столбцов выводится только первая строка но WHILE продолжает работать потому что таблица генерируется но только с первой строчкой

я предполагаю что проблема в цыкле вот только не могу понять где
PHP:
скопировать код в буфер обмена
  1.  
  2. class database{
  3.     var $db_host='*';
  4.     var $db_name='*';
  5.     var $db_user='*';
  6.     var $db_pswd='*';
  7.    
  8.     function showRecords($sql,$vCols='all'){
  9.  
  10.         $dsn=$this->db_host;
  11.         $username=$this->db_user;
  12.         $password=$this->db_pswd;
  13.  
  14.         $checkQ=explode(' ', $sql);
  15.         if ($checkQ[0]== 'SELECT' OR $checkQ[0]== 'select'){ //проверка или точно был СЕЛЕКТ
  16.         try {
  17.             $db = new PDO("mysql:host=$dsn;dbname=db",$username,$password);
  18.             $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  19.             $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  20.            
  21.             $res = $db->query($sql);
  22.             $colsNum= $res->columnCount();
  23.  
  24. ///////////////////////////////start show rows///////////////////////////////
  25.             while ($row = $res->fetch(PDO::FETCH_BOTH)){// <- generate row
  26.                 print '<tr>';
  27.                 switch ($vCols){
  28.                     case 'all'://<- show all coll
  29.                         for($i=0; $i<$colsNum; $i++){
  30.                             print '<td>'.$row[$i].'</td>';
  31.                         }
  32.                         break;
  33.                     default :// собственно проблемная часть
  34.                         $vCols=explode(',',$vCols);
  35.                         $vColsNum=count($vCols);
  36.                         for($i=0; $i<$vColsNum; $i++){
  37.                             print '<td>'.$row[$vCols[$i]].'</td>';
  38.                         }
  39.                         break;
  40.                 }
  41.                 print '</tr>';
  42.             }
  43. ///////////////////////////////end show rows///////////////////////////////
  44.  
  45.             $db = NULL;
  46.         }
  47.         catch (PDOException $e) {
  48.           echo $e->getMessage();
  49.         }
  50.  
  51.     }else print '<strong>'.$checkQ[0]."</strong> not allowed!!";
  52.    }
  53. }
  54.  


заранее спасибо

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB