0

最後の私のechoステートメントは確かに間違っています。私がやろうとしていることを示すためだけにそれを入れました。前に設定したようにこれらの3つの変数を呼び出したいだけです。それを行う正しい方法は何でしょうか?

$table_id = 'mynewtable';
$query = "SELECT id,name,price FROM $table_id";
$result_set= mysql_query($query);

$id = "SELECT id FROM $table_id";
$name = "SELECT name FROM $table_id";
$price = "SELECT price FROM $table_id";

if ($result_set){

$record= mysql_fetch_row($result_set);
$idrecord= mysql_fetch_row($id);
$namerecord= mysql_fetch_row($name);
$pricerecord= mysql_fetch_row($price);

        foreach ( $record as $value){
        echo "<td><tr> $idrecord $namerecord $pricerecord </tr></td>";
    }
}
4

6 に答える 6

3

各要素を個別にフェッチする意味はありません。mysql_fetch_assocを使用して、SELECTステートメントで指定された列をキーとして持つ配列を取得します。このようにして、データベースに不必要にクエリを実行することなく、目的のエコーを簡単に取得できます。

$table_id   = 'mynewtable';
$query      = "SELECT id,name,price FROM $table_id";
$result_set = mysql_query($query);

if($result_set)
{
    while ($row = mysql_fetch_assoc($result_set)) {
        echo "<td><tr>" .$row["id"]
        . " ". $row["name"]
        . " " .$row["price"] . "</tr></td>";
    }

}
于 2012-08-02T13:38:13.150 に答える
1
$table_id = 'mynewtable';
$query = "SELECT id,name,price FROM $table_id";
$result_set= mysql_query($query);

if (mysql_num_rows() > 0){

    while($row = mysql_fetch_array($result_set)) {
        echo $row['id'] .", ". $row['name'] .", ". $row['price'];
    }

}

mysql_*の代わりにmysqli_*の使用を開始してください

于 2012-08-02T13:38:06.107 に答える
1

あなた$resultsetは最初のクエリ()からのみ来ており$query = "SELECT id,name,price FROM $table_id";、他のクエリから来ていませんか?

このセクション:

$id = "SELECT id FROM $table_id";
$name = "SELECT name FROM $table_id";
$price = "SELECT price FROM $table_id";

$id、、$nameおよびに文字列を割り当てるだけなので、実際には役に立ちません$price

もしかして?:

$result_set= mysql_query($query);
while ($row = mysql_fetch_assoc($result_set)) 
{
    echo "<td><tr> ".$row['id']." ".$row['name']." ".$row['price']." </tr></td>";
}
于 2012-08-02T13:35:04.847 に答える
0

なぜだめですか

$table_id = 'mynewtable';
$query = "SELECT id, name, price FROM $table_id";
$result_set= mysql_query($query);

if ($result_set){
        while( $row = mysql_fetch_array(result_set)){ ?>
        <td>
          <tr> <?php echo $row['id'] . ' ' $row['name'] . ' ' . $row['price']; ?> </tr>
        </td>
<?php
    } // end of while
} // end of if
于 2012-08-02T13:38:36.497 に答える
0

ID、名前、価格を3つに分けて選択する必要はありません。使用するだけです:

if ($result_set) {
    $row = $result_set -> fetch_assoc();
    $id = $row['id'];
    $name = $row['name'];
    $price = $row['price'];
}

次に、それをテーブルに入力するか、情報を使用して好きなことを行うことができます。MySQLiを使用しているfetch_assoc()場合にのみ機能します。は非推奨であり、 PDOまたはMySQLiのいずれかに切り替える必要がありますmysql_fetch_assoc

于 2012-08-02T13:40:33.767 に答える
0
<?php
$query = "SELECT id,name,price FROM mynewtable";
$result_set = mysql_query($query);

if ($result_set!==false){
    while( $row = mysql_fetch_assoc( $result_set ) ) {
     echo '<td>' $row['id'] . ' ' . $row['name'] . ' ' . $row['price'] . '</td>';
    }
}
else {
    echo "Something went wrong with the query:";
    echo mysql_error( );
}

それはうまくいくはずです:)

編集:ちなみに、mysql_ *の使用は、PHPの今後のバージョンでなくなるため、強くお勧めしません。代わりにPDOまたはMySQLiの使用を開始してください。

于 2012-08-02T13:40:38.590 に答える