0

Symbol と Weight の 2 つの列を持つテーブルがあります。私はこのコードを使用しています

$table=mysql_fetch_array($result);
echo count($table);
echo "<pre>";
print_r($table);
echo "</pre>";

上記のコードのうち、

4
Array
(
    [0] => x1
    [symbol] => x1
    [1] => 0.50
    [weight] => 0.50
)

私のテーブルには 4 つのエントリが含まれています。しかし、それは1つだけを示しています。すべてのエントリを表示したいのですが、手動でアクセスする方法を教えてください。私はそれらを使用してアクセスできることを知っています。

while($table=mysql_fetch_array($result)
{
echo "<br/>".$table['symbol']."\t".$table['weight'];
}

しかし、私はこれを手動で行いたいです。後で、このアレイに対して手動操作を実行したいからです。

私のテーブルの内容は

Symbol | Weight
    X1 | .50
    X2 | .25
    X3 | .20
    X4 | .10

手動でつまり、配列全体を走査せずに最後の 2 つのレコードを取得し (つまり、while を使用して)、これらの最後の 2 つのレコードの重みを追加します。

例: ここで私のテーブルには 4 つのエントリがあり、最後の 2 つのレコードは X3 と X4 で、重みは .20 と .10 です。これらの 2 つのレコードを、重量 .30 の X33 である新しい単一レコードに置き換えます。私の新しいテーブルは次のようになります

Symbol | Weight
    X1 | .50
    X2 | .25
    X33| .30
4

1 に答える 1

3

WHERE句 をスローするか、すべてのデータを取得して独自の配列に格納するまでループを実行するという 2 つのオプションがあります。

while($table=mysql_fetch_array($result)
{
    $data[]=$table;
}

アレイを使用すると、必要に応じて手動でアクセスできます。

最適なオプションはmysqlior PDOsinceを使用することです。これmysqlは推奨されておらず、将来削除される予定です。mysqli の結果オブジェクトには、fetch_allオブジェクトの配列を取得する機能があることを知っています。

于 2013-11-06T23:59:11.700 に答える