【问题标题】:MySQL Select query recordset in an 2d PHP arrayMySQL 选择二维 PHP 数组中的查询记录集
【发布时间】:2015-09-17 12:13:18
【问题描述】:

我想获取 PHP 数组中的记录集。我的选择查询如下............

SELECT sub_activity_alias
     , a_s_month
     , a_s_target
     , a_s_target_no
     , a_s_budjet
     , achieved
     , achieved_no
     , expense
     , a_s_target_type  
  FROM activity_planning 
 WHERE prj_id = 37 
   AND holder_id = 5 
   AND impl_1id = 0 
   AND impl_2id = 0 
   AND activity_id = 14 
   AND sub_activity_id = 109 
   AND acct_year = '2015-2016' 
 ORDER 
    BY FIELD(a_s_month,'Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec','Jan','Feb','Mar') ASC

当我运行查询时,我得到了很多行,有 9 列。我想要一个 PHP 2d 数组来存储数据。我想在我的编程中使用这个 php 数组数据。

【问题讨论】:

  • 欢迎来到 SO。如果您不知道如何处理数组,那么这里的答案对您没有帮助。最好从基础开始。
  • 显示查询代码并不重要;您可以对任何 SQL 查询提出相同的问题。但是您需要展示的是您遇到问题的 PHP 代码——您的 PHP 代码是什么样的?你有什么问题?到目前为止,您尝试过做什么来解决它?
  • (尽管此表显示出明显的改进空间)

标签: php mysql arrays


【解决方案1】:

首先仔细阅读这篇文章。 http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html

尤其是“连接到 MySQL”部分。之后你就会真正理解 MySQL 和 PHP 关系的概念了。

然后开始学习 PHP 基础知识。如果你不知道什么是数组或控制语句,那你就不够了解。

【讨论】:

    【解决方案2】:

    今天我想与您分享在 PHP 和 MySQL 中编码时最需要的重要主题。我们应该牢记一件重要的事情,这样可以减少对数据库的访问,从而提高我们的 Web 软件应用程序的性能。不需要的数据库访问是有害的和资源滥用。如果选择查询的记录集被多次使用,那么我们应该将它保存在缓冲区中,它应该是一个数组。

    请参阅下面的记录集。我想在一个 php 数组中使用它,这样我就可以在不接触数据库的情况下尽可能多地使用它。

    选择查询与所需代码如下。

    <?php
    /****  CONNECT TO THE DATABASE *****/
    $host = "localhost"; $user= "root";  $pwd = "root1";
    $dblink = mysql_connect($host,$user,$pwd);
    if (!$dblink)
      {
        header("Location: db_error.php");
       }
    
    $database = "cinindia_ciiss";
    mysql_select_db($database, $dblink) or die("\n Could not select database, Please try after some time..");     
    
    
    /****  WRITE YOUR SQL QUERY *******/                            
    $select = "SELECT sub_activity_alias, 
    a_s_month, 
    a_s_target, 
    a_s_target_no, 
    a_s_budjet, 
    achieved, 
    achieved_no, 
    expense, 
    a_s_target_type 
    FROM activity_planning 
    WHERE prj_id = 37 
    AND holder_id = 5 
    AND impl_1id = 0 
    AND impl_2id = 0 
    AND activity_id = 14 
    AND sub_activity_id = 109 
    AND acct_year = '2015-2016' 
    ORDER BY FIELD(a_s_month,'Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec','Jan','Feb','Mar') ASC";
    $queryResult= mysql_query($select);
    
    /****** DECLARE YOUR ARRAY WHERE YOU WILL KEEP YOUR RECORD SETS  *******/
    $data_array=array();
    
    /******* STORE ALL THE RECORD SETS IN THAT ARRAY   ********/
    while ($row = mysql_fetch_array($queryResult, MYSQL_ASSOC)) {
          array_push($data_array,$row);
    }
    
    
    mysql_free_result($queryResult);
    
    
    /******  TEST TO SEE THE RESULT OF THE ARRAY ******/
    echo '<pre>';
    print_r($data_array);
    echo '</pre>'; 
    
    // FREE THE ARRAY DECLAREd WHEN USING COMPLETE .
    
    mysql_close($dblink);
    ?>
    

    希望对您有所帮助。如果有帮助,请在社交网站上分享,它位于主题的开头。 谢谢。

    【讨论】:

    猜你喜欢
    • 2017-01-07
    • 2018-07-15
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多