[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выпадающий список размеров обуви
Страницы: 1, 2
arhat
Цитата (Lightt @ 29.03.2014 - 11:17)
arhat
Не может такого быть, значит значения в value не попадают. Значит все они равны 19.

Замени $b[0] на $b[2]
echo  "<option  value=$b[0] >   $b[2] </option>";
echo "<option value='$b[2]' > $b[2] </option>";

Неаааа.., не получается....sad.gif Всё равно 19й летит.

_____________
Всё об авто
sergeiss
Цитата (arhat @ 29.03.2014 - 10:24)
SELECT * FROM sizes WHERE `sizes`.`id_boot`='$id'

Выполни этот запрос в phpMyAdmin или в любой другой программе, через которую ты с БД работаешь и посмотри, что у тебя там за данные сидят (естественно, с определенным id smile.gif). Может быть, у тебя там просто введено всё так, что в колонке "размер" одна и та же величина?

И еще - более удобно использовать "ассоциативные" ключи при выборке данных из БД. Потому что, если ты поменяешь порядок колонок в выборке, по какой-либо причине, то $b[0], $b[2] могут начать возвращать совсем не то, что ты ожидаешь. А при ассоциативных (символьных) ключах массива не важен порядок этих колонок.
Не исключено, кстати, что в твоем случае именно это и происходит.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
arhat
Цитата (sergeiss @ 29.03.2014 - 12:15)
Цитата (arhat @ 29.03.2014 - 10:24)
SELECT * FROM sizes WHERE `sizes`.`id_boot`='$id'

Выполни этот запрос в phpMyAdmin или в любой другой программе, через которую ты с БД работаешь и посмотри, что у тебя там за данные сидят (естественно, с определенным id smile.gif). Может быть, у тебя там просто введено всё так, что в колонке "размер" одна и та же величина?

И еще - более удобно использовать "ассоциативные" ключи при выборке данных из БД. Потому что, если ты поменяешь порядок колонок в выборке, по какой-либо причине, то $b[0], $b[2] могут начать возвращать совсем не то, что ты ожидаешь. А при ассоциативных (символьных) ключах массива не важен порядок этих колонок.
Не исключено, кстати, что в твоем случае именно это и происходит.

Привет, sergeiss. В этот $id летит значение id_boot, который привязан к определённому id товара. В моём случае сейчас это: если подставить "1", то выпадает список размеров товара id=1, если подставить "2", то список размеров товара id=2 (в таблицу размеров ввёл пока только размеры для первый двух товаров). А вот как передать выбранный размер в корзину то.....

_____________
Всё об авто
Lightt
arhat
Попробуй так.

<?
$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>

arhat
Цитата (Lightt @ 29.03.2014 - 13:10)
arhat
Попробуй так.

sergeiss, так выборка вообще не получается... И ещё я не увидел endforeach....?

_____________
Всё об авто
sergeiss
Цитата (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
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
arhat
sergeiss, если будет такой код:

?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>";
}
?>


то выведет список с 2м id_boot, размеры с 19го по 23. но в корзину снова летит только 19й...

_____________
Всё об авто
arhat
Цитата (Lightt @ 29.03.2014 - 13:10)
arhat
Попробуй так.


Lightt, пока ни так, ни этак не выходит.... smile.gif

_____________
Всё об авто
sergeiss
Что означает фраза "но в корзину снова летит только 19й..."? У тебя в коде формируется выпадающий список. Где тут корзина, в которую "летит только 19-й"?

И вообще. У тебя форма передает методом GET. Где ты принимаешь эти параметры? В коде ранее у тебя этого нигде нету. Зачем-то работаешь с сессией, но из GET ничего не принимаешь.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
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:

case ('size'):
$id = $_GET['id_boot'];
$size = get_sizes($id);
break;




_____________
Всё об авто
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.