2

Mysql データベースからいくつかの製品を表示する PHP ファイルがあります。これは問題なく動作します。

しかし、フラッシュにロードできるようにするには、この PHP ファイルから XML ファイルを作成する必要があります。

私はほとんどの部分を完了し、PHP ファイルはサーバー上に XML ファイルを作成し、データ (テキスト形式のデータのみ、つまり製品名、価格、詳細、追加日など) を取得し、完全に正常に動作しますが、私はしません。画像部分はどうしたらいいのかわからない!!

これは元の PHP ファイルです。

<?php 
// Script Error Reporting
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php 
// Run a select query to get my letest 6 items
// Connect to the MySQL database  
include "storescripts/connect_to_mysql.php"; 
$dynamicList = "";
$sql = mysql_query("SELECT * FROM products ORDER BY date_added DESC LIMIT 6");
$productCount = mysql_num_rows($sql); // count the output amount
if ($productCount > 0) {
    while($row = mysql_fetch_array($sql)){ 
             $id = $row["id"];
             $product_name = $row["product_name"];
             $price = $row["price"];
             $date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
             $dynamicList .= '<table width="100%" border="0" cellspacing="0" cellpadding="6">
        <tr>
          <td width="17%" valign="top"><a href="product.php?id=' . $id . '"><img style="border:#666 1px solid;" src="inventory_images/' . $id . '.jpg" alt="' . $product_name . '" width="77" height="102" border="1" /></a></td>
          <td width="83%" valign="top">' . $product_name . '<br />
            $' . $price . '<br />
            <a href="product.php?id=' . $id . '">View Product Details</a></td>
        </tr>
      </table>';
    }
} else {
    $dynamicList = "We have no products listed in our store yet";
}
mysql_close();
?>

これは、XML ファイルを作成する PHP ファイルです。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php 
header("Content-Type: text/xml"); //set the content type to xml
// Initialize the xmlOutput variable
$xmlBody = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$xmlBody .= "<XML>";
// Run a select query to get my letest 6 items
// Connect to the MySQL database  
include "../config/connect_to_mysql.php"; 
$dynamicList = "";
$sql = mysql_query("SELECT * FROM products ORDER BY date_added DESC LIMIT 6");
$productCount = mysql_num_rows($sql); // count the output amount
if ($productCount > 0) {
    while($row = mysql_fetch_array($sql)){ 
             $id = $row["id"];
             $product_name = $row["product_name"];
             $price = $row["price"];
             $image = $row["<a href="../product.php?id=' . $id . '"><img src="../inventory_images/' . $id . '.jpg" alt="' . $product_name . '"/></a>"];
             $date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
    $xmlBody .= '
<Data> 
    <DataID>' . $id . '</DataID> 
    <DataTitle>' . $product_name . '</DataTitle>
    <DataDate>' . $price . '</DataDate>
    <DataImage>' . $image . '</DataImage>
    <DataDescr>' . $date_added . '</DataDescr>
</Data>';
} // End while loop
mysql_close(); // close the mysql database connection
$xmlBody .= "</XML>";
echo $xmlBody; // output the gallery data as XML file for flash
}
?>
<?php echo $dynamicList; ?>

ご覧のとおり、次のコード行を配置しました。

$image = $row["<a href="../product.php?id=' . $id . '"><img src="../inventory_images/' . $id . '.jpg" alt="' . $product_name . '"/></a>"];

上記のコードでは、しかし、私はこのエラーを取得し続けています: 解析エラー: 構文エラー、予期しない '.' 21行目と21行目は、私が上で言及したコードの行です!

ご協力をお願いいたします。

ありがとう

4

1 に答える 1

0

二重引用符と単一引用符を適切に使用していないため、おそらく $row[] 部分を削除する必要があります。あなたのライン

$image = $row["<a href="../product.php?id=' . $id . '"><img src="../inventory_images/' . $id . '.jpg" alt="' . $product_name . '"/></a>"];

する必要があります

$image = "<a href='../product.php?id=" . $id . "'><img src='../inventory_images/" . $id . ".jpg' alt='" . $product_name . "'/></a>";
于 2013-03-19T11:41:29.173 に答える