0

ユーザーのショッピングカート内のアイテムをテーブルに表示するために使用する関数があります。

function products() {
    $get = mysql_query('SELECT id, name, description, price FROM menu WHERE quantity > 0');
    if (mysql_num_rows($get) == 0) {
        echo"Sorry, There is no products to display.";
    }
    else {
        while ($get_row = mysql_fetch_assoc($get)) {
            echo '<p>''<table>''<tr>''<td>'.$get_row['name'].'</td>''<td>'.$get_row['description'].'</td>''<td>$'.number_format($get_row['price'], 2).'</td>''<td>''<a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td></tr></table></p>';
        }
    }
}

残念ながら、そのコードを使用しようとすると、次のエラーが発生します。

解析エラー:構文エラー、予期しないT_CONSTANT_ENCAPSED_STRING、予期している、,または37行目;C:\xampp\htdocs\shopping\cart.php

37行目は次の行です。

echo '<p>''<table>''<tr>''<td>'.$get_row['name'].'</td>''<td>'.$get_row['description'].'</td>''<td>$'.number_format($get_row['price'], 2).'</td>''<td>''<a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td></tr></table></p>';

なぜこのエラーが発生するのですか?どうすれば解決できますか?

4

7 に答える 7

3

PHP は、他の言語とは異なり、連続する文字列リテラルを自動的に連結しません。次のいずれかを明示的に連結する必要があります。

echo 'a' . 'b' . 'c' . $someVar . 'd';

またはコンマを使用します。

echo 'a', 'b', 'c', $someVar, 'd';

または、自分でリテラルを結合します。

echo 'abc' . $someVar . 'd';
于 2012-08-30T03:59:23.680 に答える
0

このように編集する

echo'<p><table><tr><td>'.$get_row['name'].'</td><td>'.$get_row['description'].'</td><td>'.$number_format($get_row['price'], 2).'</td><td><a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td></tr></table></p>';

単純なfriend.acceptは、それがあなたのために働くなら答えを受け入れます。あなたも間違ったことをしました

<td>'.$number_format($get_row['price'],2).'</td>//you coded like <td>$'.number_format()...
于 2012-08-30T11:15:12.920 に答える
0

そこに小さな「」を入れるべきではありません。いいえ:

<p>''<table>''<tr>''<td>

それを...に変更します

<p><table><tr><td>

そして、上記のような '' がある他のすべての場所。

于 2012-08-30T03:58:38.123 に答える
0

これを試して

 echo '<p><table><tr><td>'.$get_row['name'].'</td><td>'.$get_row['description'].'</td><td>$'.number_format($get_row['price'], 2).'</td><td><a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td></tr></table></p>';
于 2012-08-30T03:58:47.833 に答える
0

このようなこと'<p>''<table>'はよくありません。'<p><table>'代わりに、それらをすべて 1 つにまとめてみませんか。

于 2012-08-30T03:59:04.550 に答える
0
echo '<p><table><tr><td>'.$get_row['name'].'</td>
<td>'.$get_row['description'].'</td>
<td>'$.number_format($get_row['price'], 2).'</td>
<td><a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td>
</tr></table></p>';
于 2012-08-30T04:00:49.447 に答える
0
you have to write like this in while loop

echo '<p><table><tr><td>'.$get_row['name'].'</td><td>'.$get_row['description'].'</td><td>$'.number_format($get_row['price'], 2).'</td><td><a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td></tr></table></p>';
于 2012-08-30T04:03:54.633 に答える