0

この配列を作成したい

Array (
    [1] => Array (
        [qual] => 1
        [race] => 3
        [finish] => 1
    )
    [2] => Array (
        [qual] => 2
        [race] => 1
        [finish] => 1
)

番号[1]と[2]はドライバーIDです。これは私がデータベースからデータを取得する方法です

$raceUitslagArray = array();
$sqlRaceUitslag = mysql_query("SELECT uitslag.rijderId AS rijderId, combinatie.Chassis     AS chassis, combinatie.Motor AS motor, uitslag.qual AS qual, uitslag.race AS race, uitslag.finish AS finish
                FROM uitslag, combinatie
                    WHERE combinatie.Rijder = uitslag.rijderId && uitslag.raceId = '".$_POST['raceId']."'");
while($inhoudRaceUitslag = mysql_fetch_array($sqlRaceUitslag)) {

配列に必要なデータは

$inhoudRaceUitslag['qual'] 
$inhoudRaceUitslag['race'] 
$inhoudRaceUitslag['finish'] 
$inhoudRaceUitslag['rijderId'] 

array_push($ raceUitslagArray、$ inhoudRaceUitslag ['rijderId']);を使用する必要があると思います。しかし、配列内のすべての情報を取得する方法を理解することはできません

4

3 に答える 3

2

思ったよりずっと簡単です。$inhoudRaceUitslagmysql_fetch_arrayによって返される(連想)配列です。$raceUitslagArray次のように、に関連付けて追加するだけです。

while($inhoudRaceUitslag = mysql_fetch_array($sqlRaceUitslag)) {
    $raceUitslagArray[$inhoudRaceUitslag['rijderId']] = $inhoudRaceUitslag;
}

このように$inhoudRaceUitslag['rijderId']キーとして使用し、返された行全体(に格納されている$inhoudRaceUitslag)をとして使用します。

于 2012-10-16T09:43:36.783 に答える
0

これを試して:

$raceUitslagArray = array();
$sqlRaceUitslag = mysql_query("SELECT uitslag.rijderId AS rijderId, combinatie.Chassis AS chassis, combinatie.Motor AS motor,  uitslag.qual AS qual, uitslag.race AS race, uitslag.finish AS finish FROM uitslag, combinatie WHERE combinatie.Rijder = itslag.rijderId && uitslag.raceId = '".$_POST['raceId']."'");
$result = array();
$i = 1;
while($inhoudRaceUitslag = mysql_fetch_array($sqlRaceUitslag, MYSQL_ASSOC)) {
$result[$i++] = $inhoudRaceUitslag;
于 2012-10-16T09:48:52.787 に答える
-1

次の行

while( $results[@$i++] = mysql_fetch_array( $result ) ) {}

…データベース全体の結果を、と呼ばれる2次元配列として格納します$results

ソース: http: //php.net/manual/en/function.mysql-fetch-array.php#110315

于 2012-10-16T09:45:05.080 に答える