0

したがって、私の問題は、このテーブル内の「BikeImages」というテーブルから画像をエクスポートしていることです。このテーブルには、同じ外部キー BikeCode の下にある画像があります。画像が個別ではなくまとめて追加されるようにするにはどうすればよいですか。

例えば

バイクコード: 123

バイク画像: IMAGE1, IMAGE2

バイクコード: 14

バイク画像 IMAGE1

 <?php
            $sql1 = "SELECT BikeCode, Manufacturer, Model, SubType, Year, FrameMaterial, Description, Gender, Type, Price, Stock FROM Bike WHERE Stock > 0";
            $result1 = mysqli_query($con, $sql1);
            while(list($bikecode, $manufacturer, $model, $subtype, $year, $fmaterial, $desc, $gender, $type, $price, $stock) = mysqli_fetch_row($result1)) {            

                echo "
                <table>
                <tr><th>BikeCode:</th>
                <th>Manufacturer:</th>
                <th>Model:</th>
                <th>Subtype:</th>
                <th>Year:</th>
                </tr>
                <tr>
                <td>$bikecode</td>
                <td>$manufacturer</td>
                <td>$model</td>
                <td>$subtype</td>
                <td>$year</td>
                </tr>
                <tr>
                <th>FrameMaterial:</th>
                <th>Gender:</th>
                <th>Type:</th>
                <th>Price:</th>
                <th>Stock:</th>
                </tr>
                <tr>
                <td>$fmaterial</td>
                <td>$gender</td>
                <td>$type</td>
                <td>£$price</td>
                <td>$stock</td>
                </tr>
                <tr><th>Description:</th><td colspan=\"4\">$desc</td></tr>
                <tr><th>Bike Images:</th><td colspan=\"4\"><a href=\"$sourcepath\" title=\"$description\"><img src=\"$sourcepath\" width=\"72\" height=\"72\" /></a></td></tr>
                <tr><th>Order Now:</th><td colspan=\"4\"><a href=\"basket.php?action=add&id=$bikecode\">Add To Cart</a></td></tr>
                 </table>";
            }
      ?>

よろしくお願いいたします。

編集:このコードを上記のコードと組み合わせる必要があります:

<?php
$sql = "SELECT SourcePath, Description, BikeCode FROM BikeImages order by bikecode";
$result = mysqli_query($con, $sql);
$previous = -1;
echo "<table>";
while(list($sourcepath, $description, $bcode) = mysqli_fetch_row($result)) {
    // if bikecode changed, append "Order now"
    if ($previous != -1 && $previous != $bcode) {
        echo "<tr><th>Order Now:</th><td colspan=\"4\"><a href=\"basket.php?action=add&id=$previous\">Add To Cart</a></td></tr>";
    }
    echo "<tr><th>Bike Images:</th><td colspan=\"4\">";
    echo "<a href=\"$sourcepath\" title=\"$description\"><img src=\"$sourcepath\" width=\"72\" height=\"72\" /></a>";
    echo "</td></tr>";
    $previous = $bcode;
}

echo "</table>\n";
?>
4

1 に答える 1

0

table タグをループ内に置かず、外側に置きます

<?php
    // if bikecode changed, append "Order now"
    if ($previous != -1 && $previous != $bikecode) {
        echo "<tr><th>Order Now:</th><td colspan=\"4\"><a href=\"basket.php?action=add&id=$previous\">Add To Cart</a></td></tr>";
    }

    echo "<tr><th>Bike Images:</th><td colspan=\"4\"><a href=\"$sourcepath\" title=\"$description\"><img src=\"$sourcepath\" width=\"72\" height=\"72\" /></a></td></tr>";
    $previous = $bikecode;
}

echo "</table>\n";
?>

2 つの選択により、自転車を通過する外側のループと、画像を反復処理する内側のループができます。「簡単」だが高価な解決策は、

<?php
$sql1 = "SELECT BikeCode, Manufacturer, Model, SubType, Year, FrameMaterial, Description, Gender, Type, Price, Stock FROM Bike WHERE Stock > 0";
$result1 = mysqli_query($con, $sql1) or die('Query1 failed: ' . mysqli_error($con));
echo "<table>";
while(list($bikecode, $manufacturer, $model, $subtype, $year, $fmaterial, $desc, $gender, $type, $price, $stock) = mysqli_fetch_row($result1)) {
    echo "<tr><th>BikeCode:</th>
          <th>Manufacturer:</th>
          <th>Model:</th>
          <th>Subtype:</th>
          <th>Year:</th>
          </tr>
          <tr>
          <td>$bikecode</td>
          <td>$manufacturer</td>
          <td>$model</td>
          <td>$subtype</td>
          <td>$year</td>
          </tr>
          <tr>
          <th>FrameMaterial:</th>
          <th>Gender:</th>
          <th>Type:</th>
          <th>Price:</th>
          <th>Stock:</th>
          </tr>
          <tr>
          <td>$fmaterial</td>
          <td>$gender</td>
          <td>$type</td>
          <td>£$price</td>
          <td>$stock</td>
          </tr>
          <tr><th>Description:</th><td colspan=\"4\">$desc</td></tr>\n";

    $sql = "SELECT SourcePath, Description FROM BikeImages where bikecode = '$bikecode'";
    $result = mysqli_query($con, $sql) or die('Query2 failed: ' . mysqli_error($con));
    while(list($sourcepath, $description) = mysqli_fetch_row($result)) {
          <tr><th>Bike Images:</th><td colspan=\"4\"><a href=\"$sourcepath\" title=\"$description\"><img src=\"$sourcepath\" width=\"72\" height=\"72\" /></a></td></tr>";
    }

    echo "<tr><th>Order Now:</th><td colspan=\"4\"><a href=\"basket.php?action=add&id=$bikecode\">Add To Cart</a></td></tr>\n";
}

echo "</table>";
?>
于 2012-12-08T17:17:08.623 に答える