Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вывод данных с чекбоксами

Сообщения:  [1-10]   [11-16] 

 
 автор: neadekvat   (23.04.2010 в 23:22)   письмо автору
 
   для: Blondy   (23.04.2010 в 23:20)
 

Главное не количество прочитанного, а количество усвоенного ;)
Еси чо - обращайтесь =)

  Ответить  
 
 автор: Blondy   (23.04.2010 в 23:20)   письмо автору
 
   для: neadekvat   (23.04.2010 в 22:53)
 

Спасибо вам огромнейшее за терпение и подсказки!!!!))
И читаем постепенно что под руки попадается) Хватаюсь за всё, что только получаться начинает)

  Ответить  
 
 автор: neadekvat   (23.04.2010 в 22:53)   письмо автору
 
   для: Blondy   (23.04.2010 в 22:31)
 

Чтобы разобраться с кнопками, создайте отдельный пустой файл следующего содержания:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    
print_r($_POST);
}
?>
<form action="" method="post">
<input type="radio" name="somename" value="1">Вариант 1<br>
<input type="radio" name="somename" value="2">Вариант 2<br>
<input type="radio" name="somename" value="3">Вариант 3<br>
<input type="radio" name="somename" value="4">Вариант 4<br>
<input type="submit">
</form>

И попробуйте поотправлять тот или иной вариант

И еще, почитайте про бд какую-нибудь литературу. Таблица обязательно должна иметь первычный ключ (или ключевое поле). Какое - я уже предложил добавить поле id, его и следует сделать ключевым.

  Ответить  
 
 автор: Blondy   (23.04.2010 в 22:31)   письмо автору
 
   для: neadekvat   (23.04.2010 в 21:05)
 

Я поняла что мало что поняла)) Но попытаюсь разобраться, спасибо вам огромное!) И голова отменная, могу заметить)

можно я задам последний вопрос и не буду больше вас мучить?)
Я пока что практикуюсь как я в общем сделаю вывод с радио кнопками, для примера упростила свою таблицу

http://s005.radikal.ru/i209/1004/7d/c7cf6a1de409.jpg

И вот теперь есть поле dlyanazw , которое хранит у меня то же что и в таблице nomenklatura поле krnazwanie, а точнее- в них одно и тоже пока что занесены только две строки САУ_КЦ и САУ_ВО соответственно.
И вот как я пытаюсь вывести просто посмотреть будет ли работать радио-кнопки:


$luch = mysql_real_escape_string($_POST['luch']);
 if ($luch == '11')
 $result =mysql_query("SELECT * FROM komplekt-spraw WHERE dlyanazw = '$krit'",$gb);
$myrow = mysql_fetch_array($result);
while ($myrow = mysql_fetch_array ($result)) {
printf("
  <tr>
    <td>%s</td>
  </tr>
  <tr>
    <td>%s</td>
  </tr>
   <tr>
    <td>%s</td>
  </tr>
   <tr>
    <td>%s</td>
  </tr>
   <tr>
    <td>%s</td>
  </tr>
 
 ",$myrow['kodkompl'],$myrow['dlyanazw'],$myrow['nazkompl'],$myrow['haracteristika'],$myrow['cena']);
}
?>


Это хотя бы в какой-то части правильно теоретически? (маленькая заметка- попытка отвлечься от всех проблем с бд и пока просто поглядеть как должны работать кнопки и отображаться хотя бы что-то)

  Ответить  
 
 автор: neadekvat   (23.04.2010 в 21:05)   письмо автору
 
   для: Blondy   (23.04.2010 в 20:28)
 

Значицо так, вот что я вам рекомендую при условии, что code числовое значение, а не строка типа AS34F. Если это именно такая страшная строка, то введите еще поле id (я привожу в структуре только те поля, которые нужны для взимосвязи таблиц)
modules
id | name
А в nomenklatura храните не название, а id модуля в таблице modules (и через форму передавайте не название, а id модуля). В принципе, тут два варианта:
1. Если в nomenklatura вы храните только id (например module_id), тогда при каждом запросе нужно будет делать примерно следующее:
("SELECT * FROM nomenklatura as t1, modules as t2 WHERE t1.module_id = $krit AND t2.id = $krit");
И тут главное чтобы не было одинаквых имен полей в этих таблицах.

В общем-то, можно т через LEFT JOIN объединить, но результат тот же получается, ибо условия заранее известны, да и что-то я давно с бд не работал, шарики за ролики заходят =))

Так вот, у вас будет информация из двух таблиц, и выводить можно только ту, что нужна.
В принципе, правильнее было бы в зависимости от того, что попросить пользователь использовать, но ведь нам надо узнать имя модуля для его вывода. И тут в принципе можно денормализовать бд (не думаю, что это так страшно в данном случаи =) ), ввести module_id но оставить krnazwanie (назову его module_name, а то ваше даже как-то не читается =) ) и тогда если пользователь не просил информацию о модулях, делать запрос только к одной таблице - nomenklatura.

Фух, что-то я давно не практиковался уже, голова со скрежетом алгоритмы пытается родить))

  Ответить  
 
 автор: Blondy   (23.04.2010 в 20:28)   письмо автору
 
   для: neadekvat   (23.04.2010 в 20:13)
 

В таблице modules будет поле code, а не id, тут придётся использовать код,а не порядковый номер) а так всё верно)
Да, есть таблица nomenklatura, она связана со всем вот этим- поле krnazwanie, которое там используется и в таблице komplekt примерно так:

nomenklatura--------- komplekt ------------------------------------------------------------ komplekt-spraw
krnazwanie --------------krnazwanie (одно и то же значение, к примеру САУ_КЦ)
opisanie kodkompl ----------------------------------------------------------------kodkompl (тот же)
и тд

  Ответить  
 
 автор: neadekvat   (23.04.2010 в 20:13)   письмо автору
 
   для: Blondy   (23.04.2010 в 19:43)
 

Ок, примерно так и представлял ^^
Теперь вернемся к предложенной вами структуре. Я её изменю и приведу к тому виду, что привык видеть (т.е. названия на английском) =)
1- komplekt-spraw (переименовываем в modules - ведь это информация о модулях?)
Таблица содержит все данные о модулях всех систем. Своеобразный справочник. с полями:
kodkompl // код комплекта-модуля

если код комплекта - это просто порядковое число, с которым вы его в бд добавили, то поле будет называться id, если же это код модуля, который зависит от других документов (уж пардон, я так и не понял, из какой это области у вас. Но так, в общем случаи бывает приходится сохранять те номера и названия, что хранятся в бухгалтерии или оприходованы экономистами), то тогда называться поле будет code
nazkompl //название комплекта- модуля
Переименовываем в name
haracteristika //характеристика
description
cena -> price

Таким образом, получается таблица:
modules
id (или code) | name | description | price

2 - komplekt
Таблица в которой есть связь между названием сау и модулями для каждой из них.
поля:

Не совсем понятно назначение поля. Из соседней темы я понял, что есть еще таблица nomenklatura. Как все эти три таблицы должны быть связаны?

  Ответить  
 
 автор: Blondy   (23.04.2010 в 19:43)   письмо автору
 
   для: neadekvat   (23.04.2010 в 18:17)
 

Я честно попыталась изобразить))
Это случай выбора просто базового комплекта:
http://s44.radikal.ru/i106/1004/d8/3f19625f04eb.jpg

Это если выбран вариант- с модулями:
http://i047.radikal.ru/1004/00/e59030031d6a.jpg

и (попытка не пытка) таблицы которые должны здесь использоваться, начальный вариант который я и хотела спросить, дальше конечно додумаюсь сама!)
http://s45.radikal.ru/i107/1004/9c/a4a104619310.jpg

Спасибо вообще за то что помогаете, спасение в вас)
и если честно- это не коммерческий заказ о чём я уже давно жалею)
Буду крайне счастлива если подскажете как мне заставить работать на этом просто радио кнопки- а дальше сама)

  Ответить  
 
 автор: neadekvat   (23.04.2010 в 18:17)   письмо автору
 
   для: Blondy   (23.04.2010 в 16:25)
 

Пардон, конешн, но я не понимаю) Мб кто-то и поймет, но если бы вы еще графически показали то, что хотите - было бы прелестно, ибо:
1. У вас еще не особо много знаний и объясняетесь вы непонятно (по крайней мере для меня)
2. Вы употребляете страшные слова типа САУ_КЦ что еще больше путает ))

Ну, или еще раз распишите, только так:
Пользователь выбирает модуль, на выходе он видет первое (эти данные беруться из такой-то таблицы таким то образом), и вот это (эти данные из второй таблицы такой-то, вот так-то),
Если пользовател выбирает компоненты, то на выходе...

Вот такое вот хочеццо от вас увидеть, все-таки полностью за вас задачу решать - это неправильно будет, по двум причинам:
1. Вы должны учиться думать, думать лучше (нет предела совершенству)
2. Скорее всего, это коммерческий заказ, мы же вам помогаем бесплатно.

А разница между чекбоксом и радио кнопкой - вы так и не заметили? о,О При чекбоксе можно выбрать несколько пунктов, а при радио кнопке только один из вариантов.

  Ответить  
 
 автор: Blondy   (23.04.2010 в 16:25)   письмо автору
 
   для: neadekvat   (23.04.2010 в 15:32)
 

сделала радио) а если не секрет- а в чём отличие между ними и чекбоксами? какие-то случаи?

Теперь задача такая- допустим, пользователь выбрал САУ_КЦ и нажал "с модулями".
обращаемся в бд. там есть таблицы две, которые нужны.
1- komplekt-spraw
Таблица содержит все данные о модулях всех систем. Своеобразный справочник. с полями:
kodkompl // код комплекта-модуля
nazkompl //название комплекта- модуля
haracteristika //характеристика
cena

2 - komplekt
Таблица в которой есть связь между названием сау и модулями для каждой из них.
поля:
krnazwanie //название сау ( пример- САУ_КЦ)
kodkompl //код комплекта-модуля (это и есть связь с предыдущей таблицей)

В общем это структура таблиц моя, в идеале должно быть так- пользователь выбирает из выпадающего списка САУ_КЦ, нажимает "с модулями".
Выдаётся таблица- описание САУ_КЦ
и ниже выдаётся название комплекта- модуля(исключительно для САУ_КЦ), характеристика и цена оного.

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования