Доброго времени суток.
Делаю нечто подобное как интернет-магазин. У меня есть список товаров/услуг, я их вывожу списком и у каждого наименования есть чекбокс и текстовое поле с кол-вом.
Результат записываю в БД в одну ячейку в виде: 1:2|2:5|3:7| и т.д. где сначала идет номер товара а потом кол-во и это все разделяю |.
$price_so=explode("|",$row[items]);
$i = 0;
$sql_s = "SELECT * FROM `sro_db_price` WHERE type=1 ORDER BY id ASC";
$result_s = mysql_query($sql_s);
while ($row_s = mysql_fetch_array($result_s)) {
$price_so2=explode(":",$price_so[$i]);
if ($row_s[id] == $price_so2[0]) {
$checked_so2="checked";
$amount = $price_so2[1];
} else {
$checked_so2="";
$amount = 1;
}
echo "<input type=\'checkbox\' name=\'items[]\' value=\'$row_s[id]\' $checked_so2> <input type=\'text\' size=1 name=\'q[]\' value=\'$amount\'> $row_s[item] [$row_s[czk] CZK / $row_s[eur] EUR]
\\n";
$i++;
}
Сама запись в БД выглядит так:
$amount = count($_POST[\'items\']);
for($i = 0; $i < $amount; $i++) {
$string2 .= $_POST[\'items\'][$i] . ":" . $_POST[\'q\'][$i] ."|";
}
$sql="UPDATE `anketa` SET items=\'$string2\' WHERE id=$_POST[anketa]";
Проблема в том, что если я выбираю товары подряд - то все ок, стоит мне выбрать скажем 1,2 и 4, то у четвертого при записи БД пропадает правильное кол-во (записывается всегда 1, хотя скажем ввожу кол-во 5) а при отображении 4 товар вообще не отображается. Стоит мне его только в БД подправить на номер 3 (то есть чтобы шел сразу после 1 и 2) - то всё ОК.
Подскажите люди добрые, что я делаю не так. Вторые сутки над этим сижу и все никак не могу сделать.