|
|
|
|
Как обновить сразу столько позиций из базы сколько их есть?
Пишу название колонок, и пишу автоматом столько строк, сколько их есть и заполняю поля инфой.
А вот чтоб при нажатии кнопки сейв все записывалось никак не сделать..помогите пожалуйста!
echo "<table width=300 border=0 cellspacing=0 cellpadding=0><form method=post action=?l=tablita>
";
$queryx="SELECT * FROM `spsc_tavary` ORDER BY tovar ASC";
$usr=mysql_query($queryx);
if(!$usr) exit ();
echo"
<tr>
<td></td>
<td><div align=center>nazvanie tovara</div></td>
<td><div align=center>kolicestvo</div></td>
<td><div align=center>nalicie</div></td>
</tr>";
while($row=mysql_fetch_array($usr))
{
$id = $row['id'];
$tovar= $row['tovar'];
$nazvanie = $row['nazvanie'];
$kolicestvo= $row['kolicestvo'];
echo"
<tr>
<td><input type=text size=25 name=tovar value='".$tovar."' ></td>
<td><input type=text size=10 name=nazvanie value=$nazvanie ></td>
<td><input type=text size=10 name=kolicestvo value=$kolicestvo ></td>
</tr>
";
}
echo"
<tr>
<td><input type=submit name=save value=save></td>
</tr>
</form></table>";
|
| |
|
|
|
|
|
|
|
для: D.A.N_visator
(03.05.2008 в 18:21)
| | Можно связать имена полей с id записей, при получении массива будете знать поле, номер записи, ну и значение его ествественно. | |
|
|
|
|
|
|
|
для: D.A.N_visator
(03.05.2008 в 18:21)
| | Здравствуйте. Вот пример обновления записи в таблице:
$query = "Update таблица SET поле1 = 'значение1', поле2 = 'значение2', поле3 = 'значение3' where поле1 = 'значение1' "; при простом обновлении без параметра условие не обязательно (where поле1 = 'значение1' ";). | |
|
|
|
|
|
|
|
для: Gangster
(03.05.2008 в 19:47)
| | я знаю как обновлять, незнаю как обновить сразу несколько полей таблицы
вот с делитом пример есть:
DELEtE FROM table WHERE id IN (1, 3, 5,...,20)
|
а вот с апдейтом не нашёл
я пробовал связать поля с идом но не получилось... | |
|
|
|
|
|
|
|
для: D.A.N_visator
(03.05.2008 в 21:35)
| |
<?
echo "<input type=\"text\" name=\"tovar_".$id."\" value=\"".$tovar."\" />
<input type=\"text\" name=\"nazvanie_".$id."\" value=\"".$nazvanie."\" />
<input type=\"text\" name=\"kolicestvo_".$id."\" value=\"".$kolicestvo."\" />";
foreach ($_POST as $key => $val) {
$k = explode('_', $key);
print $k[0].' - '.$k[1].' - '.$val.'<br>'; //это то и кому обновить
}
|
А в форме, к тому же, не могут содержаться несколько полей с одним именем, если только это не массив. | |
|
|
|
|
|
|
|
для: sim5
(04.05.2008 в 01:44)
| | spasibo poprobuiu | |
|
|
|
|
|
|
|
для: D.A.N_visator
(04.05.2008 в 16:17)
| | Объясните пожалуйста для непонятливых как это вставить в апдейт?
if(isset($_POST['salveaza']))
{
foreach ($_POST as $key => $val) {
$k = explode('_', $key);
print $k[0].'_'.$k[1].' - '.$val.'<br>'; //ýòî òî è êîìó îáíîâèòü
$sq44 = ("UPDATE `spsc_tovary` SET
`tovar` = '$val',
........
WHERE `id`='".$k['1']."' ");
if(!mysql_query($sq44))
exit (mysql_error());
}
|
| |
|
|
|
|
|
|
|
для: D.A.N_visator
(04.05.2008 в 20:56)
| | Вы странный ей богу. Я вам написал пример получения id ключа и значения для его полей через print. Это не более чем пример, а вы пытаетесь вставить все это в свой код, включая и print, и <br>? А вообще вопрос встречный. Например, у вас на странице будет вывод 30 товарных позиций, и вы внесете изменения только в пяти из них, и тогда вы тоже будете производить обновление для всех 30 позиций? | |
|
|
|
|
|
|
|
для: sim5
(05.05.2008 в 02:31)
| | >а вы пытаетесь вставить все это в свой код
а что я по вашему должен делать? мне ж надо решить проблему. | |
|
|
|
|
|
|
|
для: sim5
(05.05.2008 в 02:31)
| | А как тогда узнать, какие товары изменил пользователь? Я сейчас делаю похожую задачу. Мне надо так же одновременно обновить несколько товаров. Можно конечно сделать так, чтобы обновление произвонилось только для одного товара (для каждого своя кнопка), но это неудобно. Я тоже хочу построить один большой запрос на обновления всех товаров одновременно (к примеру, не более 30). | |
|
|
|
|
|
|
|
для: AVS
(05.05.2008 в 20:16)
| | nu i kak uspehi? | |
|
|
|
|
|
|
|
для: D.A.N_visator
(05.05.2008 в 20:35)
| | На сколько я знаю, синтаксис UPDATE не позволяет обновить сразу несколько конкретных строк. Придется все таки по отдельной кнопке на каждый товар ставить. А выполнять 30 запросов на обновление каждого - я считаю это непривильным. | |
|
|
|
|
|
|
|
для: AVS
(05.05.2008 в 20:16)
| | А давайте по 50 и поразмышляем. У вас электронный магазин, а это большие отличия от магазина по улице Такой-то. Что у вас должно быть в качестве информации о товаре?
1. Название товара.
2. Призводитель товара (необязательный пункт, но если вы пожелаете разметить свои товары в Яндекс маркет, то он потребуется).
4. Краткое описание товара.
5. Дополнительное (полное описание товара). Так же могут быть, например, инструкции по применению товара.
6. Характеристики товара (например, видеокарты, но - разных производителей, марки и прочее).
7. Цена товара.
8. Возможно оптовая цена товара.
9. Скидка на товар.
10. Количество товара на складе.
12. Сколько продано.
13. Рейтинг товара среди покупателей.
14. Отзывы покупателей о товаре.
15. Дата добавления товара.
16. Фото (либо несколько фото - малое, среднеее, большое).
17. Статус товара: показывать или нет товар на странице. Товар может временно отсутствовать и вы скрываете его. Но можно срывать 50/50, то есть он не скрыт, его просто нельзя положить в корзину, но можно сделать предварительную заявку на него. Или его нельзя положить в корзину, но посетителю важна информация о нем. Значит полей статуса может быть уже два, а не одно.
Не обязательно все это должно быть, что вам нужно, вам виднее, но многое из этого у вас будет несомненно. А теперь давайте размышлять, что из этого списка выгодно обновлять группой. Выбрав некую категорию товаров, вы получаете полный их список (либо постраничной навигацией) со всеми этими полями, причем, фото не выводится, а указывается наличие их, или нет, а так же не выводятся описания товаров. И в этом списке можно изменить статус товара (чекбоксы), скидку (а скидка возможна на группы товаров), ну может быть и цену товаров, количество на складе. ВСЕ. А вот название товара, производитель, описания, добаление и изменение фото... все это лучше производить отдельно и для одного товара, например щелкнув по названию товара, делать переход на другую страницу (или открывать новое окно), где вы можете редактировать всю информацию о товаре, включая перенос товара из одной категории в другую (смена родителя). Здесь обновление будет только для одного id, а из таблицы для многих id, но "легкие". Так удобнее, и не ради того, что вы заботитесь о загруженности MySQL своими запросами, а просто так удобнее выводить и редактировать данные. | |
|
|
|
|
|
|
|
для: sim5
(06.05.2008 в 03:10)
| | я делала обновление группы товаров, но только продажной цены. выбирается группа, в поле
"Наценка" ставится %, нажимается кнопка и всем товарам выбранной группы продажная цена
увеличивается на процент наценки. а остальные изменения - фотки, описания, наличие - это
в каждой позиции индивидуально. | |
|
|
|
|
|
|
|
для: elenaki
(06.05.2008 в 10:08)
| | Спасибо Sim5, подкинули идею! | |
|
|
|