Php 从Mysql查询中提取值

Php 从Mysql查询中提取值,php,mysql,Php,Mysql,我对如何从查询中提取值并将其放入特定变量感到困惑,因为我事先不知道该值的名称 也许更容易让你明白我的意思 下面的图像是返回值,按标题分组,即响应总数、响应百分比等 因此,第一行的response列下的response值为Poached,response百分比为16.66667 但是,下一行将在列response$下加上83.333的响应百分比 现在,我想将这些值分别放入各个变量中,如: $poached , $poachedPercentage, $scrambled, $scrambledP

我对如何从查询中提取值并将其放入特定变量感到困惑,因为我事先不知道该值的名称

也许更容易让你明白我的意思

下面的图像是返回值,按标题分组,即响应总数、响应百分比等

因此,第一行的response列下的response值为Poached,response百分比为16.66667

但是,下一行将在列response$下加上83.333的响应百分比

现在,我想将这些值分别放入各个变量中,如:

$poached , $poachedPercentage, $scrambled, $scrambledPercentage etc 
我试图在下面做,但得出了错误的数字。这也不是一种成本效益高的方法。因此,我想就如何提取这些值提出一些建议

$getPollResult   = results();

while ($row = mysqli_fetch_array ($getResult , MYSQLI_ASSOC)) 
{

$responce  =   safe_output(round($row['RESPONCE']));

$percentage = safe_output(round($row['Percent_responded']));


if($responce  = 'Poached')
{
  $percentageOne = $percentage;
  $poached =     $responce;          
}
if ($responce = 'Scrambled')
{
    $percentageTwo = $percentage;
    $scrambled =     $responce;

}    
 //  echo " $percentagePoached      $percentageScrambled ";die();
}
使用

而不是

$responce = safe_output(round($row['RESPONCE']));
另外,将if条件
=
更改为
=

您可以使用“变量”(variable variables)来实现:

while ($row = mysqli_fetch_array ($getResult , MYSQLI_ASSOC)) 
{
    $responce_name  =  trim($row['RESPONCE']);
    $percentage_name = $responce_name . "Percentage";
    $percentage = safe_output(round($row['Percent_responded'])); //don't know what safe_output() does

    $$percentage_name = $percentage; //notice the double "$" here
}

您的PHP变量将如下所示:

$PoachedPercentage = 17;
$ScrambledPercentage = 83;
// and so on....

在if中,应该使用
==
而不是
=
。为什么对字符串值
安全输出(round($row['response'))使用
round()
?这将
$responce
设置为
0
。什么是
安全输出()
?我以为您想“将它们放入特定变量中,而我现在不知道值的名称”。这就是为什么我有点困惑,为什么你没有注意到我的答案,而我的答案恰恰解决了这个问题。另外,你接受了另一个答案,这个答案并没有考虑到你真正想要的。
$PoachedPercentage = 17;
$ScrambledPercentage = 83;
// and so on....