|
|
|
| У меня есть таблица. Допустим, в ней всего 2(3,4,5,10,100) строки, в каждой из которых какое-либо значение, например, цифра. Напротив каждой цифры в соседних столбцах кнопка (или ссылка). Подскажите, как скрипт на странице может определить, напротив какой именно цифры нажата была кнопка(ссылка)?
Например, я нажал кнопку напротив цифры "2". При нажатии сработал скрипт, который после этого, допустим, удалил строку с этой цифрой (ну и самой кнопкой) из таблицы (или только запись, оставив только пустые ячейки). | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 10:41)
| | да... немало смекалки потребуется, чтоб понять, что вы хотите....
почему бы не дать кнопкам id, в соответствии с которым потом находить нужную запись и
удалять ее? | |
|
|
|
|
|
|
|
для: elenaki
(21.11.2007 в 10:59)
| | Неужели я так непонятно написал? :) Вроде все ясно... Таблицы - это имеются ввиду простые HTML-таблицы, а не, например, MySQL-таблицы.
По поводу ID кнопкам можно подробней? | |
|
|
|
|
|
|
|
для: elenaki
(21.11.2007 в 10:59)
| | А чтобы было, надеюсь, еще понятней - опишу. Вообще это все делается для корзинки магазина. Точнее это управление своей корзиной с покупками в интернет-магазине. То есть я, например, напихал в корзину всякого добра и кое-чего добавил лишнего. Я захожу по кнопке "Офромить товар" на страницу управления товарами в корзине и вижу список всех товаров, например, в виде HTML-таблицы. "Вот и тот хлам, который мне уже не нужен - убить его!" Жму на кнопочку напротив товара, и товар пропадает из корзины и, соответственно, не учитывается при оформлении товара. | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 11:11)
| | А товар положенный в корзину где хранится? | |
|
|
|
|
|
|
|
для: Faraon
(21.11.2007 в 11:19)
| | когда покупатель кликает на ссылку "положить в корзину" в таблице MySQL автоматом создается временаая таблица с названием basket.$user['id'], которая убивается при выходе пользователя из магазина. В этой таблице и хранятся товары, которые лежит в корзине. | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 11:11)
| | Даете этой кнопочке ссылку на скрипт обработки товаров корзины, с переменной del=id товара. Принмаете $_GET["del"] и удаляете этот товар из корзины. | |
|
|
|
|
|
|
|
для: sim5
(21.11.2007 в 11:44)
| | это и так понятно. Не понятно, по каким бразом мне узнать id товара, который надо удалить. Как именно связать кнопку с id-товара?
На данный момент кратко опишу скрипт вывода товаров в ячейке-таблице корзины:
$temp_basket=mysql_query("SELECT * FROM `basket_".$users['id']."`");
if($temp_basket)
{
echo "<table>";
for($c=0; $c < mysql_num_rows($temp_basket); $c++)
{
echo "<tr>";
$f = mysql_fetch_array($temp_basket);
echo "<td>$f[tovar]</td>
<td>$f[sum]</td>";
echo "</tr>";
}
echo "</table>";
|
| |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 11:48)
| | Странно как? Вы ведь предлагаете товар на страницах под их ID скорее всего, а не по названиям, значит можете скриптом контролировать какой товар (его ID) положен пользователем в корзину, и "прикрутить" такую ссылку при выводе корзины труда не составит. | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 11:48)
| | У вас в этой таблице уникальные id записи создаются ? | |
|
|
|
|
|
|
|
для: Faraon
(21.11.2007 в 11:53)
| | ID, конечно, есть. Страница, на которой отображаются информация о товаре и ссылка на "положить в корзину" имеет в адресе, само собой ID товара. Но в таблице `temp_basket` (в БД для корзины) все товары ложаться каждый в новую строчку. Не понимаю, может и глупый. Но не буду же я создавать для каждого товара отдельный скрипт-обработчик вида buy_id.php? :) | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 11:58)
| | >все товары ложаться каждый в новую строчку
Это плохо, лучше проверять, если пользователь добавляет товар, который уже есть в корзине, то просто суммировать его количество, с перерасчетом обшей суммы за товар и всей суммы заказа. | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 11:48)
| | $f[tovar] - это что, id товара или его название? Да, действительно, как предлагает Faraon, по уникальным id записей в этой таблице, тоже можно организовать удаление товара из корзины. | |
|
|
|
|
|
|
|
для: sim5
(21.11.2007 в 11:56)
| | это я упростил немного. Это - `tovar` - это название товара, а `sum`, наример - его цена. Таким же образом хочу вставить еще одну строку с кнопкой для удаления этого товара из корзины | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 12:00)
| | не строку, а столбец в строку. строка - это товар, а столбцы - данные этого конкретного товара.
как и кнопка на удаление. в другой строке будет другой товар с другим id и другой кнопкой. | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 12:00)
| | См. выше. Либо по уникальным id записей, либо добавить id товаров, и не ложить каждый в отдельную запись. | |
|
|
|
|
|
|
|
для: sim5
(21.11.2007 в 11:56)
| | просто блин не могу догнать, как узнать, напротив какого именно ID нажата кнопка :( | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 12:02)
| | Попросите пользователя - пусть сфотографирует :))
Если есть в корзине id товара, никаких сложностей, выводите товары корзины и каждой кнопочке даете ссылку на удаление этого id товара, либо id записи в таблице корзины, но один и тот же товар при этом должен быть прописан в одной записи. Вы просто неудачно организовали таблицу корзины, стоит поправить чуток и пробелмы не будет. | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 12:02)
| | вроде че-то начинаю понимать...
<input type="submit" name="$ID" value="Delete">
|
А в обработчике уже примерно так:
DELETE FROM `basket_1` WHERE `id` = $ID
|
я прав? | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 12:11)
| | типа того :) | |
|
|
|
|
|
|
|
для: KPETuH
(21.11.2007 в 12:14)
| | таким образом, как я понимаю, вообще не обязательно даже знать ID товара, поскольку имя конепке можно задать, например, названием товара... ? | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 12:16)
| | Можно и по имени, но вот бывают товары с одинаковыми именами, а таковые действительно есть, тогда как? Лучше использовать все таки уникальный ID товара.
PS. <input type="submit" name="$ID" value="Delete"> не пойдет, вам придется на каждый товар кнопку SUBMIT вешать, а потом ключи полученного массива проверять, чтобы определить ID удаляемого товара. Да и почему не использовать GET запрос, проще и ничем не хуже POST в вашем случае. | |
|
|
|
|
|
|
|
для: sim5
(21.11.2007 в 12:37)
| | А в чем поблема повесить SUBMIT на каждый товар? Один хрен все в одной строчке цикла произойдет...
Я понимаю, конечно, можно вместо SUBMIT'а ссылку простую (например, картинкой) сделать, тогда, конечно, придется только через $_GET :) | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 12:49)
| | <input type="submit" name="$ID" value="Delete"> - что вы будете получать в этом случае? Если форма, то луше оставить один SUBMIT для ее отправки, а в корзине для товаров добавить чекбоксы, например, имеющие значения ID товаров или записей в таблице корзины. Вот те что будут омечены и будут удалены, так можно за одну отпавку формы удалить несколько товаров, что лучше для вашего пользователя. Да и не мешало бы добавить кнопку удаления всего (очистка корзины). | |
|
|
|
|
|
|
|
для: sim5
(21.11.2007 в 12:37)
| | Единственно возникнет вопрос, данные какого массива PHP обрабатывает быстрее - $_POST или $_GET? И так же, какие данные быстрее загрузит HTML - SUBMIT'ы или HREF'ы? Но, дума, эти массивы обрабатываются одинаково, так же как и загрузка ссылки либо кнопки... Если я не прав - поправьте, буду только признателен :) | |
|
|
|
|
|
|
|
для: vitroot
(21.11.2007 в 12:51)
| | скорость обработки данных сервером в данном случае - фактор несущественный.
Хотите быструю корзину - пишите её полностью на стороне клиента - на JS. | |
|
|
|
|
|
|
|
для: Trianon
(21.11.2007 в 13:01)
| | В дальнейшем для "модернизации" и заодно повышения скорости расчитываю добавить Ajax (который, правда, придется тоже изучить), тогда быстрее будет. "Работа с корзиной в реальном времени" :) | |
|
|
|