Web-мастер: курс молодого бойца

Удаление/редактирование строк таблицы БД

 Страницы: 1 | 2 | 3 ... >>
 

 Добавлено 2007-12-16 22:05:06
nobody


Сообщений: 104
Зарегистрирован: 09.11.2007

Цитировать
Имеется таблица на сайте, в которой перечислены данные взятые из таблицы MySQL (типа id, название, описание, дата добавления и т.д...).
Все работает прекрасно. Но когда я хочу что-то удалить или изменить в этой таблице приходится это делать через phpmyadmin. Как мне это сделать непосредственно на сайте, напрямую?

Имя   | Описание      | Дата доб.  | Удалить | Редактировать
-----------------------------------------------------------
Слон  | Большой, серый | 30-12-06  | Удл.    | Ред. 
Наверх  Посмотреть профиль   Отредактировано администратором root 16.12.2007

 Добавлено 2007-12-16 22:36:33
root
Администратор


Сообщений: 85
Зарегистрирован: 04.11.2007

Цитировать
<?php 
  
 
if ( !isset( $_GET["action"] ) ) $_GET["action"] = "showlist"
 
$action $_GET["action"]; 
 if ( isset( 
$_GET["id"] ) ) $id $_GET["id"]; 
  
 switch ( 
$action 
 { 
     case 
"showlist"
         
show_list(); break; 
     case 
"delete"
         
delete_item$id ); 
         
show_list(); break; 
     case 
"update"
         
update_item$id ); 
         
show_list(); break; 
     case 
"editform"
         
get_edit_item_form$id ); break; 
     default: 
         
show_list(); 
 } 
  
 function 
show_list() 
 { 
     
$query "SELECT id, title, description FROM items WHERE 1"
     
$res db_query$query ); 
     echo 
"<h2>Список</h2>"
     echo 
"<table>"
     echo 
"<tr><th>ID</th><th>Наименование</th><th>Описание</th><th>Ред.</th><th>Удл.</th></tr>"
     while ( 
$item db_fetch_array$res ) ) 
     { 
         echo 
"<tr>"
         echo 
"<td>".$item["id"]."</td>"
         echo 
"<td>".$item["title"]."</td>"
         echo 
"<td>".$item["description"]."</td>"
         echo 
"<td><a href='".$_SERVER["PHP_SELF"]."?action=editform&id=".$item["id"]."'>Ред.</a></td>"
         echo 
"<td><a href='".$_SERVER["PHP_SELF"]."?action=delete&id=".$item["id"]."'>Удл.</a></td>"
         echo 
"</tr>"
     } 
     echo 
"</table>"
 } 
  
 function 
get_edit_item_form$id 
 { 
     echo 
"<h2>Редактировать</h2>"
     
$query "SELECT title, description FROM items WHERE id=".$id
     
$res db_query$query ); 
     
$item db_fetch_array$res ); 
     echo 
"<form name='editform' action='".$_SERVER["PHP_SELF"]."?action=update&id=".$id."' method='POST'>"
     echo 
"<table>"
     echo 
"<tr>"
     echo 
"<td>Наименование</td>"
     echo 
"<td><input type='text' name='title' value='".$item["title"]."'></td>"
     echo 
"</tr>"
     echo 
"<tr>"
     echo 
"<td>Описание</td>"
     echo 
"<td><textarea name='description'>".$item["description"]."</textarea></td>"
     echo 
"</tr>"
     echo 
"<tr>"
     echo 
"<td><input type='submit' value='Сохранить'></td>"
     echo 
"<td><button type='button' onClick='history.back();'>Отменить</button></td>"
     echo 
"</tr>"
     echo 
"</table>"
     echo 
"</form>" 
 

  
 function 
update_item$id 
 { 
     
$title db_escape_string$_POST['title'] ); 
     
$description db_escape_string$_POST['description'] ); 
     
$query "UPDATE items SET title='".$title."', description='".$description."' 
               WHERE id="
.$id
     
db_query $query ); 
     return 
true
 } 
  
 function 
delete_item$id 
 { 
     
$query "DELETE FROM items WHERE id=".$id
     
db_query $query ); 
     return 
true
 } 
  
?>
Наверх  Посмотреть профиль   Сайт автора Отредактировано автором 07.02.2008

 Добавлено 2008-01-16 16:12:50


Цитировать
а если у меня есть таблица, в строках которой указаны к примеру товары и цены, и мне нужно сделать форму, где клиент вписывал бы кол-во необходимого ему товара по каждой позиции, это кол-во бы помножалось на цену товара и выводился результат! как это правильно сделать хотя бы примерно?

Создана новая тема; все ответы на этот вопрос перенесены сюда
Корзина для Интернет-магазина
Наверх Незарегистрированный пользователь Отредактировано модератором evgenijj 17.01.2008

 Добавлено 2008-01-17 13:33:48
Snic


Сообщений: 242
Зарегистрирован: 18.12.2007

Цитировать
У меня вопрос такой:
как грамотнее сделать удаление строки из БД при помощи галочки?
(ставим галочки в списке что хотим удалить и жмем кнопку удалить)

еще вопрос как сделать

генерируется список

1. www.name.ru/mail.php
2. www.name2.ru/forum.php
3. www.name3.ru
...
50. www.name50.ru

новая запись записывается на номер
1. новая
2. а первая сдвигается ниже
...
49. становится 50
50. удаляется

???


Лень - двигатель прогресса, имхо :)
Наверх  Посмотреть профиль    

 Добавлено 2008-01-17 15:17:11
evgenijj
Модератор




Сообщений: 1371
Зарегистрирован: 09.11.2007

Цитировать
Snic пишет:
У меня вопрос такой: как грамотнее сделать удаление строки из БД при помощи галочки? (ставим галочки в списке что хотим удалить и жмем кнопку удалить)
<?php
echo '<h2>Список</h2>';
echo 
'<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
$query "SELECT id, title FROM items WHERE 1"
$res mysql_query$query ); 
echo 
'<table border="1">';; 
echo 
'<tr><th>ID</th><th>Наименование</th><th>Удл.</th></tr>'
while ( 
$item mysql_fetch_array$res ) ) 

  echo 
"<tr>"
  echo 
"<td>".$item['id']."</td>"
  echo 
"<td>".$item['title']."</td>"
  echo 
'<td><input type="checkbox" name="item[]" value="'.$item['id'].'" /></td>';  
  echo 
"</tr>"

echo 
'</table>';
echo 
'<input type="submit" name="submitForm" value="Удалить отмеченные" />';
echo 
'</form>';

if ( isset ( 
$_POST['item'] ) )
{
  
$ids implode','$_POST['item'] );
  
$query 'DELETE FROM items WHERE id IN ('.$ids.')';
  
mysql_query$query );
  
header'Location: '.$_SERVER['PHP_SELF'] );
}
?>
Цитата
еще вопрос как сделать

генерируется список

1. www.name.ru/mail.php
2. www.name2.ru/forum.php
3. www.name3.ru
...
50. www.name50.ru

новая запись записывается на номер
1. новая
2. а первая сдвигается ниже
...
49. становится 50
50. удаляется
Ничего не понял. Расскажи поподробнее - кто куда сдвигается. Речь идет о записях в файле или о таблице БД? И какую задачу надо решить?


Денежные купюры пронумерованы для того, чтобы когда-нибудь я мог сложить их все одну к одной, по порядку.
Наверх  Посмотреть профиль   Сайт автора Отредактировано автором 17.01.2008
 Страницы: 1 | 2 | 3 ... >>
 
Быстрый ответ
 
Цвет шрифта: Закрыть все теги
Сообщение
Защитный код