MySQL 获取数组未收集并返回所有行 | PHP | MySQL
MySQL fetch array not collecting and returning all the rows | PHP | MySQL
我有一个功能(见下文)
public function ReadBets_Open($id) {
$queryBase = "SELECT * FROM `vr_wp_bets` WHERE `is_open` = 'true' AND `id` = '%s';";
$queryBase2 = sprintf($queryBase, $id);
$selectQuery = mysql_query($queryBase2);
$return = "<div style='max-height: 400px; overflow: scroll;'>";
while ($result = mysql_fetch_array($selectQuery)) {
//var_dump($result);
$return = "<div style='border: 1pt solid black; width: 99%;'>";
$return .= "<h2>" . $result['title'] . "</h2>";
$return .= "<table>";
$return .= "<tr><td style='width:50%;'>Sport: </td><td>" . $result['sport'] . "</td></tr>";
$return .= "<tr><td style='width:50%'>Participant: </td><td>" . $result['participant'] . "</td></tr>";
$return .= "<tr><td>Market: </td><td>" . $result['market'] . "</td></tr>";
$return .= "<tr><td>Time: </td><td>" . date("H:i", strtotime($result['bettilltime'])) . "</td></tr>";
$return .= "<tr><td>Odds: </td><td>" . $result['odds'] . "</td></tr>";
$return .= "<tr><td>Stake: </td><td>£" . $result['stake'] . "</td></tr>";
if ($result['is_ew'] == "true") {
$return .= "<tr><td>Each Way: </td><td>" . $this->CalculateEachWay($result['odds'], $result['ew_odds']) . "</td></tr>";
$return .= "<tr><td>Estimated Return:</td><td>" . "N/A" ."</td></tr>";
}
else if ($result['odds'] == "SP") {
$return .= "<tr><td>Estimated Return:</td><td>" . "N/A" ."</td></tr>";
}
else {
$return .= "<tr><td>Estimated Return:</td><td>£" . $result['estimated_return'] ."</td></tr>";
}
$return .= "</table>";
$return .= "</div><br>";
}
$return .= "</div>";
return $return;
}
而且我知道有 4 个结果 应该 被选择,但是只有一个被返回获取数组,我想知道是否有人可以看到这个问题,如果是的话是什么?这让我困惑了几天,我真的需要一个答案。
我调用方法的方式是:
$classInstance->ReadBets_Open($current_user->ID);
注意
我知道我正在使用折旧的 mysql_* 功能,这将在未来更改,需要制作和发布。
您每次循环都在重置 $return
。所以在循环结束时 $return
将只有最后一行的详细信息。
我有一个功能(见下文)
public function ReadBets_Open($id) {
$queryBase = "SELECT * FROM `vr_wp_bets` WHERE `is_open` = 'true' AND `id` = '%s';";
$queryBase2 = sprintf($queryBase, $id);
$selectQuery = mysql_query($queryBase2);
$return = "<div style='max-height: 400px; overflow: scroll;'>";
while ($result = mysql_fetch_array($selectQuery)) {
//var_dump($result);
$return = "<div style='border: 1pt solid black; width: 99%;'>";
$return .= "<h2>" . $result['title'] . "</h2>";
$return .= "<table>";
$return .= "<tr><td style='width:50%;'>Sport: </td><td>" . $result['sport'] . "</td></tr>";
$return .= "<tr><td style='width:50%'>Participant: </td><td>" . $result['participant'] . "</td></tr>";
$return .= "<tr><td>Market: </td><td>" . $result['market'] . "</td></tr>";
$return .= "<tr><td>Time: </td><td>" . date("H:i", strtotime($result['bettilltime'])) . "</td></tr>";
$return .= "<tr><td>Odds: </td><td>" . $result['odds'] . "</td></tr>";
$return .= "<tr><td>Stake: </td><td>£" . $result['stake'] . "</td></tr>";
if ($result['is_ew'] == "true") {
$return .= "<tr><td>Each Way: </td><td>" . $this->CalculateEachWay($result['odds'], $result['ew_odds']) . "</td></tr>";
$return .= "<tr><td>Estimated Return:</td><td>" . "N/A" ."</td></tr>";
}
else if ($result['odds'] == "SP") {
$return .= "<tr><td>Estimated Return:</td><td>" . "N/A" ."</td></tr>";
}
else {
$return .= "<tr><td>Estimated Return:</td><td>£" . $result['estimated_return'] ."</td></tr>";
}
$return .= "</table>";
$return .= "</div><br>";
}
$return .= "</div>";
return $return;
}
而且我知道有 4 个结果 应该 被选择,但是只有一个被返回获取数组,我想知道是否有人可以看到这个问题,如果是的话是什么?这让我困惑了几天,我真的需要一个答案。
我调用方法的方式是:
$classInstance->ReadBets_Open($current_user->ID);
注意
我知道我正在使用折旧的 mysql_* 功能,这将在未来更改,需要制作和发布。
您每次循环都在重置 $return
。所以在循环结束时 $return
将只有最后一行的详细信息。