簡體   English   中英

帶有 PHP 並連接到 MySQL 的購物車

[英]shopping cart with PHP and connected to the MySQL

晚上好,我目前正在通過 PHP 和 MySQL 實現購物車,我在第 172 行開始出現以下錯誤,我一直在查看報價,但找不到問題,有什么辦法可以解決這個?

ERROR : Parse error: syntax error, unexpected 'img' (T_STRING), expecting ';' or ',' in B:\XAMPP\htdocs\dashboard\PHP_Assessments\Sport_Cars\cart.php on line 171     


 <div class="container" style="width:700px;">  
                    <h3 align="center">Simple PHP Mysql Shopping Cart</h3><br />  
                    <?php  
                    $sql = "SELECT * FROM sport_cars.cars ORDER BY carID ASC";  
                     //prepared statement
                     $statement = $conn->prepare($sql);
                     $statement->execute();
                     $result = $statement->fetchAll();
                     $statement->closeCursor(); 
                     foreach($result as $row):
                        echo "<div class='col-md-4'>";
                        echo "<form method='post' action='cart.php?action=add&id=" .$row['carID']. ' ">";
                        echo "<div><img class='img-responsive' src= " .'view/images/'. $row['Photo'] . " /><br/> ";  
                        echo  "<h4 class='text-info'> . $row['carName'] . </h4> ";
                        echo "<h4 class='text-danger'>.$row['carPrice']; . "</h4> ";  
                        echo "<input type='text' name='quantity' class='form-control' value='1' /> ";  
                        echo "<input type='hidden' name='hidden_name' value=.' ['carPrice']; '. /> ";  
                        echo  "<input type='hidden' name='hidden_price' value=.' $row['carPrice']; '. /> ";  
                        echo  "<input type='submit' name='add_to_cart' style='margin-top:5px;' class='btn btn-success' value='Add to Cart' /> ";
                        echo "</div></form></div>";
                    endforeach;
                    if($result > 0)  
                    {  
                         while($row = $statement -> fetchAll())  
                         {  
                    ?>  
                    <div class="col-md-4">  
                         <form method="post" action="cart.php?action=add&id=<?php echo $row["carID"]; ?>">  
                              <div style="border:1px solid #333; background-color:#f1f1f1; border-radius:5px; padding:16px;" align="center">  
                                   <img src="<?php echo $row["Photo"]; ?>" class="img-responsive" /><br />  
                                   <h4 class="text-info"><?php echo $row["carName"]; ?></h4>  
                                   <h4 class="text-danger">$ <?php echo $row["carPrice"]; ?></h4>  
                                   <input type="text" name="quantity" class="form-control" value="1" />  
                                   <input type="hidden" name="hidden_name" value="<?php echo $row["carPrice"]; ?>" />  
                                   <input type="hidden" name="hidden_price" value="<?php echo $row["carPrice"]; ?>" />  
                                   <input type="submit" name="add_to_cart" style="margin-top:5px;" class="btn btn-success" value="Add to Cart" />  
                              </div>  
                         </form>  
                    </div>  
                    <?php  
                         }  
                    }  
                    ?>  
                    <div style="clear:both"></div>  
                    <br />  
                    <h3>Order Details</h3>  
                    <div class="table-responsive">  
                         <table class="table table-bordered">  
                              <tr>  
                                   <th width="40%">Item Name</th>  
                                   <th width="10%">Quantity</th>  
                                   <th width="20%">Price</th>  
                                   <th width="15%">Total</th>  
                                   <th width="5%">Action</th>  
                              </tr>  
                              <?php   
                              if(!empty($_SESSION["shopping_cart"]))  
                              {  
                                   $total = 0;  
                                   foreach($_SESSION["shopping_cart"] as $keys => $values)  
                                   {  
                              ?>  
                              <tr>  
                                   <td><?php echo $values["carName"]; ?></td>  
                                   <td><?php echo $values["quantity"]; ?></td>  
                                   <td>$ <?php echo $values["carPrice"]; ?></td>  
                                   <td>$ <?php echo number_format($values["quantity"] * $values["carPrice"], 2); ?></td>  
                                   <td><a href="cart.php?action=delete&id=<?php echo $values["carID"]; ?>"><span class="text-danger">Remove</span></a></td>  
                              </tr>  
                              <?php  
                                        $total = $total + ($values["quantity"] * $values["carPrice"]);  
                                   }  
                              ?>  
                              <tr>  
                                   <td colspan="3" align="right">Total</td>  
                                   <td align="right">$ <?php echo number_format($total, 2); ?></td>  
                                   <td></td>  
                              </tr>  
                              <?php  
                              }  
                              ?>  
                         </table>  
                    </div>
             </div>

我一直在將這個購物車從 mysqli 版本更改為 pdo 並且我在使其工作時遇到了一些麻煩,我希望可以解決這個問題。

謝謝你的幫助。

這是 PHP 語法錯誤。 您可以參考下面的屏幕截圖以獲取一些錯誤作為示例。 您需要先確保沒有錯誤,然后才能使其正常工作在此處輸入圖像描述

不不不! 當你使用

echo "<div></div>"; You never Put a  " Inside of two "" You can only use ''

echo "<div class=""></div>";Wrong
echo "<div class=''></div>";Correct

-- 讓我們看看這條線 --

echo "<form method='post' action='cart.php?action=add&id=" .$row['carID']. ' ">";

你做錯了。 首先這是雙引號所以你不需要。 $row['carId'] 。

固定代碼是:

    $id = $row['id'];
    echo "<form method=\"Post\" action=\"car.php?action=add&id=$id\" >";

您需要更改整個代碼:(

你在包含 $result 的 foreach 循環中有一些錯誤,所以試試這個:

foreach($result as $row){ 

    echo "<div class='col-md-4'>";
    echo "<form method='post' action='cart.php?action=add&id=" .$row['carID'].  ">";
    echo "<div><img class='img-responsive' src= " .'view/images/'. $row['Photo'] . " 
    /> 
    <br/> ";  
    echo  "<h4 class='text-info'>" . $row['carName'] . "</h4> ";
    echo "<h4 class='text-danger'>".$row['carPrice'] . "</h4> ";  
    echo "<input type='text' name='quantity' class='form-control' value='1' /> ";  
    echo "<input type='hidden' name='hidden_name' value='" . $row['carPrice'] . "'/> 
    ";  
    echo  "<input type='hidden' name='hidden_price' value='" . $row['carPrice']  . 
    "'/> ";  
    echo  "<input type='submit' name='add_to_cart' style='margin-top:5px;' class='btn 
    btn- 
    success' value='Add to Cart' /> ";
    echo "</div></form></div>";

}

您可以嘗試使用 printf 來幫助提高代碼的可讀性。 http://php.net/printf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM