【问题标题】:Fetch data from database issue从数据库问题中获取数据
【发布时间】:2013-04-17 12:51:59
【问题描述】:

我有一个问题,我制作了一个组件,我添加了数据添加组件数据表,我想在我的站点中获取该数据如何做,我还有另一个问题如何将查询放入组件 i 中的 view.html.php 文件中有代码我添加我的代码我有一个错误我添加我的错误

500 - View class not found [class, file]: team_memberViewteam_member, C:\wamp\www\Joomla_2.5.8-Stable-Full_Package\components\com_team_member\views\team_member\view.html.php

这是我的代码,请帮助我如何在数据库中获取数据....

// import Joomla view library
jimport('joomla.application.component.view');

/**
 * HTML View class for the HelloWorld Component
 */
class HelloWorldViewHelloWorld extends JView
{
        // Overwriting JView display method
        function display($tpl = null) 
        {
                // Assign data to the view
                 $db = JFactory::getDbo();

// Create a new query object.
                $query = $db->getQuery(true);

// Select all records from the user profile table where key begins with "custom.".
// Order it by the ordering field.
            $query->select(array('id', 'member_name', 'member_pic', 'member_des','member_description'));
            $query->from('#__gztqw_team_member_datadetails');
            $query->where('profile_key LIKE \'custom.%\'');
            $query->order('ordering ASC');

// Reset the query using our newly populated query object.
            $db->setQuery($query);

// Load the results as a list of stdClass objects.
            $results = $db->loadObjectList();

                // Display the view
                parent::display($tpl);
        }
}

【问题讨论】:

    标签: php components joomla2.5 wampserver


    【解决方案1】:

    尝试简单的方法:-

    $db = JFactory::getDbo();
    $query = 'SELECT data FROM #__gztqw_team_member_datadetails WHERE profile_key LIKE "custom.%" order by ASC';
    $db->setQuery($query);
    $results = $db->loadObjectList();
    

    您还没有在函数中恢复任何值,并且在哪里显示它是在视图中显示数据的最佳方式,使用控制器功能并分配结果值以在视图中显示

    你需要阅读http://docs.joomla.org/Developing_a_Model-View-Controller_%28MVC%29_Component_for_Joomla!2.5

    【讨论】:

      【解决方案2】:

      首先,你视图中的类叫HelloWorldViewHelloWorld,应该叫Team_memberViewTeam_member,这就是导致你报错的原因。

      其次,理想情况下,您应该将数据库查询放入模型中,但是如果您将其放入视图中,它仍然可以工作。我已经为您提供了一个示例,说明如何使其与视图中的查询一起使用。 我创建了一个名为 $items 的受保护变量,并将数据库中的结果分配给该变量。

      在您的模板中,您将使用

      访问数据库中的数据
      foreach($this->items as $item):
             echo $item->id;
      endforeach();
      

      在你看来你应该有

      class Team_memberViewTeam_member extends JView
      {
          protected $items;
      
          // Overwriting JView display method
          public function display($tpl = null) 
          {
               $db = JFactory::getDbo();
      
                 // Create a new query object.
                  $query = $db->getQuery(true);
      
           // Select all records from the user profile table where key begins with "custom.".
      // Order it by the ordering field.
              $query->select(array('id', 'member_name', 'member_pic','member_des','member_description'));
              $query->from('#__gztqw_team_member_datadetails');
              $query->where('profile_key LIKE \'custom.%\'');
              $query->order('ordering ASC');
      
        // Reset the query using our newly populated query object.
              $db->setQuery($query);
      
      // Load the results as a list of stdClass objects.
              $this->items = $db->loadObjectList(); 
               parent::display($tpl);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-16
        • 2019-11-12
        • 1970-01-01
        • 2014-11-03
        • 2011-07-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多