Цитата (Lightt @ 29.03.2014 - 11:17) |
arhat Не может такого быть, значит значения в value не попадают. Значит все они равны 19. Замени $b[0] на $b[2] echo "<option value=$b[0] > $b[2] </option>"; |
Цитата (arhat @ 29.03.2014 - 10:24) |
SELECT * FROM sizes WHERE `sizes`.`id_boot`='$id' |
Цитата (sergeiss @ 29.03.2014 - 12:15) | ||
Выполни этот запрос в phpMyAdmin или в любой другой программе, через которую ты с БД работаешь и посмотри, что у тебя там за данные сидят (естественно, с определенным id ). Может быть, у тебя там просто введено всё так, что в колонке "размер" одна и та же величина? И еще - более удобно использовать "ассоциативные" ключи при выборке данных из БД. Потому что, если ты поменяешь порядок колонок в выборке, по какой-либо причине, то $b[0], $b[2] могут начать возвращать совсем не то, что ты ожидаешь. А при ассоциативных (символьных) ключах массива не важен порядок этих колонок. Не исключено, кстати, что в твоем случае именно это и происходит. |
<?
$result = mysql_query("SELECT * FROM sizes WHERE `sizes`.`id_boot`='$id' ");
while ($b[] = mysql_fetch_assoc($result)) {}
?>
<form action="index.php" method="get">
<input type="hidden" name="view" value="add_to_cart">
<input type="hidden" name="id" value="<?=$product['id']?>">
<select name="size">
<? foreach ($b as $sizes) {?>
<option value="<? echo $sizes['size']?>"> <? echo $sizes['size']?></option>
<?}?>
</select>
<input type="submit" value="Добавить в корзину">
</form>
Цитата (Lightt @ 29.03.2014 - 13:10) |
arhat Попробуй так. |
Цитата (arhat @ 29.03.2014 - 10:24) |
$a=mysql_query("SELECT * FROM sizes WHERE `sizes`.`id_boot`='$id' "); |
$sql="SELECT * FROM sizes WHERE `sizes`.`id_boot`='$id' ";
echo $sql.'<br>';
$a=mysql_query($sql);
?php
$sql="SELECT * FROM sizes WHERE `sizes`.`id_boot`='$id' ";
echo $sql.'<br>';
$a=mysql_query($sql);
while ($b = mysql_fetch_array($a))
{
echo "<option value=$b[2] > $b[2] </option>";
}
?>
Цитата (Lightt @ 29.03.2014 - 13:10) |
arhat Попробуй так. |
Цитата (sergeiss @ 29.03.2014 - 19:02) |
Что означает фраза "но в корзину снова летит только 19й..."? У тебя в коде формируется выпадающий список. Где тут корзина, в которую "летит только 19-й"? И вообще. У тебя форма передает методом GET. Где ты принимаешь эти параметры? В коде ранее у тебя этого нигде нету. Зачем-то работаешь с сессией, но из GET ничего не принимаешь. |
<?php foreach ($_SESSION['cart'] as $id => $quantity):
$product = get_product($id);
$b = get_sizes($id);
?>
<tr>
<td align="center"><?=$product['title']; ?></td>
<td align="center"> <?=$b['size']; ?> </td>
<td align="center"> <?=number_format($product['price'],2); ?> руб</td>
<td align="center"><input type="text" size="2" name="<?=$id; ?>" maxlength="2" value="<?=$quantity; ?>" /></td>
<td align="center"> <?=number_format($product['price'] * $quantity ,2); ?> руб</td>
</tr>
<?php endforeach; ?>
function get_sizes($id)
{
db_connect();
$query = ("SELECT * FROM sizes WHERE `sizes`.`id_boot`='$id' ");
$result = mysql_query($query);
$row = mysql_fetch_array($result);
return $row;
}
case ('size'):
$id = $_GET['id_boot'];
$size = get_sizes($id);
break;