Здравейте!
Знам, че напоследък питам тъпи въпроси, но дори с търсене в google намирам съвсем други неща от това, което търся или написани много сложно за мен.
Това е моят код, чрез който извеждам добавените продукти в количката чрез сесия.
Целта ми е продуктите от сесията да се запишат в базата данни, било то с няколко таблици или с implode(",", ...);, без значение, просто да ги има по един или друг начин.
Като например:
[sql]CREATE TABLE IF NOT EXISTS `orders` (
`id` int(11) NOT NULL,
`firstname` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`lastname` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`phone` varchar(13) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`payment` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`address` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`price` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`products` text,
`date` varchar(255) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;[/sql]
в "products" да се записва като: uGbBlW Модерна тениска Черен XL 18.50 лв., данните за другия продукт, данните за 3тия, и т.н.
Благодаря предварително и се извинявам, ако това също е тъп въпрос, но не се сещам как може да стане!
Знам, че напоследък питам тъпи въпроси, но дори с търсене в google намирам съвсем други неща от това, което търся или написани много сложно за мен.
Това е моят код, чрез който извеждам добавените продукти в количката чрез сесия.
PHP:
<?php
if(isset($_SESSION["products"]) && count($_SESSION["products"]) > 0) {
$total = 0;
$list_tax = "";
$cart_box = "<div class=\"table-responsive\"><table class=\"table table-bordered\">
<thead>
<tr>
<th>Код</th>
<th>Име на продукта</th>
<th>Цвят</th>
<th>Размер</th>
<th>Цена</th>
</tr>
</thead>
<tbody>";
foreach($_SESSION["products"] as $product) {
$product_name = $product["name"];
$product_price = $product["price"];
$product_discount = $product['discount'];
$percentage = $product_price*($product_discount/100);
$product_price = $product_price-$percentage;
$product_price = number_format($product_price, 2);
$code = $product["code"];
$sizes = $product["sizes"];
$colors = $product["colors"];
$cart_box .= "
<tr>
<td>".$code."</td>
<td>".$product_name."</td>
<td>".$colors."</td>
<td>".$sizes."</td>
<td>".$product_price." ".$currency."</td>
</tr>";
$subtotal = $product_price;
$total = ($total+$subtotal);
}
$grand_total = $total;
$cart_box .= "
<tr>
<td colspan=\"5\" align=\"right\">Общо: ".sprintf("%01.2f", $grand_total)." ".$currency."</td>
</tr>
</tbody>
</table></div>";
echo $cart_box;
?>
<form id="defaultForm" method="post" class="form-horizontal" action="order.php">
<div class="form-group">
<label class="col-sm-3 control-label">Име</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="firstName" placeholder="Име" />
</div>
<div class="col-sm-4">
<input type="text" class="form-control" name="lastName" placeholder="Фамилия" />
</div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label">Телефон</label>
<div class="col-lg-5">
<input type="text" class="form-control" name="phone" />
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">E-mail адрес</label>
<div class="col-sm-5">
<input type="text" class="form-control" name="email" />
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Начин на плащане</label>
<div class="col-sm-6">
<div class="radio">
<label><input type="radio" name="payment" value="cash-of-delivery" /> Наложен платеж</label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Адрес</label>
<div class="col-sm-5">
<textarea type="text" class="form-control" name="address" /></textarea>
</div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label">Цена за доставка</label>
<div class="col-lg-5">
<select class="form-control" name="price">
<option value="">Избери</option>
<option value="pld">3 лв. — Пловдив</option>
<option value="province">3.50 лв. — провинция</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" id="captchaOperation"></label>
<div class="col-sm-2">
<input type="text" class="form-control" name="captcha" />
</div>
</div>
<div class="form-group">
<div class="col-sm-6 col-sm-offset-3">
<div class="checkbox">
<label>
<input type="checkbox" name="agree" value="agree" /> Вие се съгласявате с Условията на ползване
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-9 col-sm-offset-3">
<button type="submit" class="btn btn-primary" name="signup" value="ПОРЪЧАЙ">ПОРЪЧАЙ</button>
</div>
</div>
</form>
<?php
} else {
echo '<h4 align="center" style="padding-top: 10%;">Кошницата е празна.</h4><div style="padding-bottom: 20%;"></div>';
}
?>
Целта ми е продуктите от сесията да се запишат в базата данни, било то с няколко таблици или с implode(",", ...);, без значение, просто да ги има по един или друг начин.
Като например:
[sql]CREATE TABLE IF NOT EXISTS `orders` (
`id` int(11) NOT NULL,
`firstname` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`lastname` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`phone` varchar(13) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`payment` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`address` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`price` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`products` text,
`date` varchar(255) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;[/sql]
в "products" да се записва като: uGbBlW Модерна тениска Черен XL 18.50 лв., данните за другия продукт, данните за 3тия, и т.н.
Благодаря предварително и се извинявам, ако това също е тъп въпрос, но не се сещам как може да стане!