PHP 通过 'Key' => 'Value' 列回显所有表行 - 经验

标签 php mysql sql json array-push

尝试编写脚本来回显所有表格行的列信息,'Key' => 'Value' 对

我尝试执行以下步骤: *1.* 获取所有列字段 2.运行 SELECT 查询 3. echo JSON value Key as (表字段数)

$table_name = 'Users';
$fieldname=array(); 
$fieldnames=array();
$fieldnames_C; //fieldNames count


//--------------------------------------------- get colums 'key' array + count;
$result = mysql_query("SHOW COLUMNS FROM {$table_name}");
if (mysql_num_rows($result) > 0) {

 while ($row = mysql_fetch_assoc($result)) {

           $fieldname = $row['Field']; 
           array_push($fieldnames, $fieldname);    //ARRAY ADD OBJECT       
       }       

    $fieldnames_C =  count($fieldnames);
    echo($fieldnames_C); 
}


    $users = array();
    $query = mysql_query("SELECT * FROM {$table_name}");                
//for table count
    while ($row = mysql_fetch_array($query))
        {                   
//for columns count  
            $i = 0;
            while($i < $fieldnames_C)
            {                   
            $fieldname = $fieldnames[$i];           


             $users[] = array(     

            $fieldname => $row[$fieldname]

            );

            $i++;
            }



          array_push($users, $fieldname => $row[$fieldname]);

        }


          echo json_encode(array('response' => $users));                
          mysql_close($connection);
?>

输出如下:

[{"PID":"79"},{"UserID":"ofir"},{"UserName":"ofir name"},{"UserLat":"32.0511"},{"UserLon":"34.8029"}]

尝试这样的输出: 简单的 JsonArray 作为表 SELECT 计数;

[{"PID":"79","UserID":"ofir","UserName":"ofir name","UserLat":"32.0511","UserLon":"34.8029"]

感谢您的回答!

最佳答案

您的代码可以大大简化:

$data = array();
$result = mysql_query("SELECT * FROM {$table_name}");
while($row = mysql_fetch_assoc($result)) {
   $data[] = $row;
}
$field_names = array_keys($data[0]);

当然,只有当您的查询实际返回任何结果时,这才能正常工作,但假设它确实返回,这实际上就是复制您正在做的事情所需的全部内容。

关于PHP 通过 'Key' => 'Value' 列回显所有表行 - 经验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22337086/

相关文章:

PHP MVC 设计 - 对同一 url/ Controller 的多个操作

PHP foreach循环遍历多维数组

SQL查询比较2个表并输出case语句

mysql - 如何 ORDER BY varchar 字段作为数字?

sql - 更新查询 MS Access 加入

php - 邮件错误:以下发件人地址失败:myemailaddress@gmail.com

php - mysql-通过id从一个表中选择一个产品,然后从另一个表中选择它的关联图像

按 str_to_date 排序的 mysql 不起作用

mysql - 二进制文件大小

php - 如何在php中动态链接页面到菜单?