2015-02-10 82 views
1

我很困惑如何從查詢中提取值,並將它們放入特定變量中,當我事先不知道該值的名稱是什麼時。從Mysql查詢中提取值

它可能更容易告訴你我的意思。

下面的圖像被返回的值,由標題即Total_responded,Percent_responded等分組

image from mysql database

所以第一行將具有列下性反應的水煮與Percent_responded16.66667。

但下一行會有下列性反應 $與83.333333

一個Percent_responded我現在想每個值放入單獨的變量擾碼:

$poached , $poachedPercentage, $scrambled, $scrambledPercentage etc 

我試圖在下面做,但產生了錯誤的數字。這也不是一種具有成本效益的方式。所以,我真的appricaite如何提取值

$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(); 
} 
+3

裏面的,如果,你應該使用'=='而不是'='。 – Debflav 2015-02-10 09:28:13

+0

爲什麼你使用'round()'在字符串值'safe_output(round($ row ['RESPONCE']));'?這將設置'$ responce'等於'0'。 – Cyclonecode 2015-02-10 09:29:05

+2

什麼是'safe_output()'? – Sadikhasan 2015-02-10 09:32:02

回答

0

使用

$responce = trim($row['RESPONCE']); 

,而不是

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

此外,如果條件=更改到==一些建議。

0

您可以使用 「變量變量」(PHP Docs)以實現:

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....