0
這個PHP
腳本應該以數組形式返回前五名輸家,前五名增加者和五名最活躍的股票,名爲result。 當我在數據庫中運行查詢時,它返回正確的值,但是當我在瀏覽器中運行PHP
腳本時,它不返回第一個數組,它從第二個數組,第二個數組開始,依此類推。 這是腳本:php腳本不返回第一個數組
switch ($which){
case 'top':
$sql = "SELECT * FROM market_table ORDER BY price_change DESC LIMIT 5";
$result = $this -> connection->query($sql);
if($result->num_rows > 0){
$r = mysqli_query($this->connection,$sql);
$res = mysqli_fetch_array($r);
$result = array();
while($res = mysqli_fetch_array($r)){
array_push($result,array("sympol"=>$res['sympol'],"o_price"=>$res['o_price'],
'e_name'=>$res['e_name'], 'price_change'=>$res['price_change'],'perc_change'=>$res['perc_change'],
'c_price'=>$res['c_price'],'volume'=>$res['volume'],'h_price'=>$res['h_price'],
'l_price'=>$res['l_price'],'deals_n'=>$res['deals_n'],
'value'=>$res['value']));
}
echo json_encode(array("result"=>$result));
}
else{
echo "top five: 0 results";
}
break;
case 'bottom':
$sql = "SELECT * FROM market_table ORDER BY price_change ASC LIMIT 5";
$result = $this -> connection->query($sql);
if($result->num_rows > 0){
$r = mysqli_query($this->connection,$sql);
$res = mysqli_fetch_array($r);
$result = array();
while($res = mysqli_fetch_array($r)){
array_push($result,array("sympol"=>$res['sympol'],"o_price"=>$res['o_price'],
'e_name'=>$res['e_name'], 'price_change'=>$res['price_change'],'perc_change'=>$res['perc_change'],
'c_price'=>$res['c_price'],'volume'=>$res['volume'],'h_price'=>$res['h_price'],'l_price'=>$res['l_price'],
'deals_n'=>$res['deals_n'],
'value'=>$res['value']));
}
echo json_encode(array("result"=>$result));
}
else{
echo "bottom five: 0 results";
}
break;
case'most':
$sql = "SELECT * FROM market_table ORDER BY deals_n DESC LIMIT 5";
$result = $this -> connection->query($sql);
if($result->num_rows > 0){
$r = mysqli_query($this->connection,$sql);
$res = mysqli_fetch_array($r);
$result = array();
while($res = mysqli_fetch_array($r)){
array_push($result,array("sympol"=>$res['sympol'],"o_price"=>$res['o_price'],
'e_name'=>$res['e_name'], 'price_change'=>$res['price_change'],'perc_change'=>$res['perc_change'],
'c_price'=>$res['c_price'],'volume'=>$res['volume'],'h_price'=>$res['h_price'],'l_price'=>$res['l_price'],
'deals_n'=>$res['deals_n'],
'value'=>$res['value']));
}
echo json_encode(array("result"=>$result));
}
else{
echo "most active five: 0 results";
}
break;
}
您正在執行相同的查詢兩次(而不是您當前的問題),並且在循環之前獲取第一行(您當前的問題)。在所有情況下。 – jeroen