无法创建数组

时间:2014-04-23 21:20:09

标签: php

我有问题...... 我试图从mysql表创建一个数组。 但我不知道如何将来自MySQL的数据格式化为php中的数组。 这是我到目前为止所做的......

//Generate Org Data
$result_org = mysql_query("SELECT emp_no,sup_empno,Name,Title FROM employees");
// Initializes a container array 
$orgArray = array();
while($row = mysql_fetch_array($result_org, MYSQL_ASSOC))
    {
    $currempno = $row['emp_no'];
    $currsupervisor = $row['sup_empno'];
    $currtitle = $row['Name']. '\n ' .$row['Title'];

//这是我无法获得正确格式的地方...... ??

// Stores each database record to an array

      $buildorg = array("$currempno","$currsupervisor","$currtitle");

    // Adds each array into the container array
        array_push($orgArray, $buildorg);

        }
    // show the data to verify

        echo ($orgArray);


// the data needs to be exactly like this below

o.addNode(003,002,'','Jane Doe \ nAsstst');

  

其中003是$ currempno 002是$ currsupervisor Jane Doe \ nAsst   经理是$ currtitle

获取o.addNode(连同逗号和双引号并结束); 在这周围让我感到困惑

任何帮助将不胜感激......

K Driscoll

3 个答案:

答案 0 :(得分:0)

我想这就是你要找的东西,或多或少:

$finalArray = array();
$result_org = mysql_query("SELECT emp_no,sup_empno,Name,Title FROM employees");
while( $row = mysql_fetch_array($result_org, MYSQL_ASSOC) ) {
  $finalArray[] = array(
    $row['emp_no'],
    $row['sup_empno'],
    $row['Name'].'\n'.$row['Title']
  );
}
print_r($finalArray);

答案 1 :(得分:0)

你使用了array_push函数,更好地使用了另一种结构:$someArray[] = $newElement; - 它必须做同样的事情。示例如下。

此代码可以使用:

//Generate Org Data
$result_org = mysql_query("SELECT emp_no,sup_empno,Name,Title FROM employees");
// Initializes a container array 
$orgArray = array();
while($row = mysql_fetch_array($result_org, MYSQL_ASSOC))
    {
    $currempno = $row['emp_no'];
    $currsupervisor = $row['sup_empno'];
    $currtitle = $row['Name']. '\n ' .$row['Title'];

    $orgArray[] = array($currempno, $currsupervisor, $currtitle);
}

var_dump($orgArray);

答案 2 :(得分:0)

如果我理解正确,你实际上是在尝试创建行

o.addNode(003, 002, '', 'Jane Doe\nAsst Manager');

所以只需将值放入字符串并按照您希望的方式进行格式化 - 无需创建另一个数组 - 您可以创建最终字符串并将其推送到数组中:

$currempno = $row['emp_no'];
$currsupervisor = $row['sup_empno'];
$currtitle = $row['Name']. '\n ' .$row['Title'];

$output = sprintf("o.addNode(%03d, %03d, '', '%s');", $currempno, $currsupervisor, $currtitle);
array_push($orgArray, $output);