IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Php & Mysql, база данных
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 54
Пол: Женский
Реальное имя: Евгения

Репутация: -  0  +


дали задание разработать БД на php и mysql
с php я дружу ) , но в связке с mysql не работала... начала изучать вроде не так сложно: создала базу, таблицы, заполнила, вводя данные через текстовые поля, сделала поиск (простой канешн, но рабочий =)), и вывод данных в форме таблицы... но вот вопросы, на которые я еще не придумала ответа: как осуществлять удаление из таблиц? и как сделать чтобы, например, наименование товара в таблице было ссылкой для более подробной информации?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
сообщение
Сообщение #2


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Цитата(corazon @ 11.01.2007 3:28) *

как осуществлять удаление из таблиц?
Код
DELETE FROM <имя_таблицы> WHERE <условие>
Будут удалены записи, для которых <условие> истинно.

Код
DELETE FROM <имя таблицы>
Удаление всех записей.

Цитата
как сделать чтобы, например, наименование товара в таблице было ссылкой для более подробной информации?
Смотря что из себя представляет подробная информация... Опиши задачу поподробнее.

Руководство на русском


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 54
Пол: Женский
Реальное имя: Евгения

Репутация: -  0  +


я знаю синтаксис sql для удаления таблиц и строк из таблицы меня интересует как сделать удаление через вэб-интерфейс, а подробная информация.. планировала выводить доп данные из связанной таблицы..
а задача - бд учета технки, надо будет еще реализовать разделение прав, но с этим попозже..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Так в чём проблема? Если удалять по одной записи - при выводе талицы делаешь на каждой строчке ссылку, которая передаёт скрипту id этой строки (что-то проде <a href="?action=delete&id=#" title="Delete item">X</a>).

Для удаления "пачками" помещаешь выводимую таблицу в форму, в каждую строку добавляешь что-то вроде <input type="checkbox" name="sel[#i]" value="#id" />. Вот грубый набросок кода для обработки таких форм:
Код

<?php

function redirect()
{
    header('Location: code.php');
?>
Redirecting...<br />
If your browser does not support redirecting, <a href="code.php">click  here</a>.
<?php
}

/*----- POST'ed forms processing -----*/

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    if (!isset($_POST['accept']))
        if (!isset($_POST['sel']))
            redirect();
        else
        {
?>
<form method="POST">
<?php
            $n = 0;
            foreach($_POST['sel'] as $i => $id)
            {
                printf('<input type="hidden" name="sel[%d]" value="%d" />', $i, $id);
                $n++;
            }
?>
    Delete <?=$n?> selected item(s)?
    <input type="submit" name="accept" value="Yes" />
    <input type="submit" name="accept" value="No" />
</form>
<?php
        }
    else
        if ($_POST['accept'] != 'Yes')
            redirect();
        else
        {
            foreach($_POST['sel'] as $id)
            {
                // TODO: place 'DELETE FROM...' query here
                echo 'Item id = ', $id, ' deleted<br />';
            }
            //        redirect();
        }
    return;
} // if ($_SERVER['REQUEST_METHOD'] == 'POST')

/*----- End of POST'ed forms processing -----*/
?>

<form method="POST">
    <input type="checkbox" name="sel[0]" value="1" />Item id = 1<br />
    <input type="checkbox" name="sel[1]" value="2" />Item id = 2<br />
    <input type="checkbox" name="sel[2]" value="3" />Item id = 3<br />
    <input type="checkbox" name="sel[3]" value="4" />Item id = 4<br />
    <input type="submit" />
</form>


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 54
Пол: Женский
Реальное имя: Евгения

Репутация: -  0  +


за удаление спасиба, пытаюсь прикрутить к базе своей )

появились еще вопросы:
как загрузить данные из таблицы в поле выбора и сделать что то типа автозаполнения в нем?
как организовать вывод по определенному количеству строк в таблице(например 10 строк), а в низу чтобы были страницы?...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Жень, покажи пожалуйста структуру твоей БД (в виде SQL запросов, по которым создавались таблицы, или то, что выводит DESCRIBE), чтобы я мог у себя такую же сделать - тогда с примерами нам проще будет... )


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 54
Пол: Женский
Реальное имя: Евгения

Репутация: -  0  +


create table monitor (
id varchar(10) primary key,
zid varchar(10) not null,
fname varchar(50) not null,
bname varchar(50) not null,
stoim varchar(10) not null,
data varchar(10),
mesto varchar(10));

такую структуру имеют таблицы такие как монитор, процессор и прочее (всего получилось 17) ужс...

create table sysblok (
id varchar(10) primary key,
name varchar(50) not null);

это таблица системный блок

create table komplect (
id varchar(10) primary key,
proc varchar(10),
moth varchar(10),
pam varchar(10),
vint varchar(10),
video varchar(10),
zvuk varchar(10),
net varchar(10),
cd varchar(10),
fdd varchar(10));

а это таблица должна быть связана с таблицей системнвй блок, тут хранится список комплектующих для него. Так же она должна быть связана с таблицами самих комплектующих процессор, мать и прочее..

вот такую структуру придумала, ничего? или что то стоит изменить?
да... таблицы еще не связала..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Простите, что влезаю, но
1.
Цитата
это таблица системный блок

Это не таблица, а бред!
Представляйте данные в стандартном виде!
Есть VISO, есть другие инструменты.
А это читать невозможно!
2.
Никогда не используйте транслит в названиях полей таблицы, лучше возьмите словарь и напишите нормально - по английски! (который будет в много раз лучше читаем, чем транслит!)
3.
Цитата
такую структуру имеют таблицы такие как монитор, процессор и прочее (всего получилось 17)

Какие 17? Перечисли названия таблиц просто.
Цитата
это таблица системный блок

Ясно, что в таблице "Процессор" более подробные сведения о прцоессоре, чем здесь.
Почему бы не сделать в таблице "Системный блок" в качестве полей Процессор и т.д. ключи в таблицы "процессор" и т.д. соотвественно, а в таблицах этих компонент не добавить поле типа "имеется в составе системного блока только"?
Вобщем главная цель нормализации - свести избыточность к минимуму.

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

Фраза непонятна.
И связей в таблицах я не увидел.

Цитата
я знаю синтаксис sql для удаления таблиц и строк из таблицы меня интересует как сделать удаление через вэб-интерфейс

Что бы вас поняли, нужно вводить корректное название темы.
По названию темы видно, что нужен только язык php и sql.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Пионер
**

Группа: Пользователи
Сообщений: 54
Пол: Женский
Реальное имя: Евгения

Репутация: -  0  +


хорошо, названия полей исправлю

по поводу таблицы "системный блок" (sysblok) и "комплектующие" (komplect) : в таблице "сис. блок" хранится id и название, хочу сделать так, чтобыпри щелчке на название выводились подробные данные из чего он состоит из таблицы "комплектующие", а в ней же хранятся id комплектющих... поэтому мне надо будет связать её с другими таблицами чтобы выводить название, а не id... все связи по id

а 17 таблиц это: монитор, принтер, копир, клавиатура, мышь, колонки, сканер, трекболл, процессор, мать, память, винт, видео, сеть, звук, приводы, прочее.

к комплектующим отнесено: процессор, мать, память, винт, видео, сеть, звук, приводы

мысль про добавить поле типа "имеется в составе системного блока" - заинтересовала...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.03.2024 12:00
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name