Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] [PHP, MySQL, JS]Использование селекта в регистрации

Ответить
Настройки темы
[решено] [PHP, MySQL, JS]Использование селекта в регистрации

Аватара для blackmane

Пользователь


Сообщения: 69
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: blackmane
Дата: 09-01-2012
Может вопрос покажется глупым, но все же, как создать динамически зависимые селекты (значения которых хранятся в БД), чтобы потом их записать в новую талицу?
В поисках ответа я наткнулся на Динамические селекты JS, и даже умудрился сделать два уровня с выборкой из бд (но мне нужно три), потом я понял что не смогу внести в конечную таблицу выбранные данные, так как вывод выглядит вот так:
PHP код: Выделить весь код

<?php

include "../data/dbconfig.php";
//if($conect == true)  {echo 'Conect DB';}
//if($select == true)  {echo 'Select TABLE';}

//selet all data from DB test
$result mysql_query("select * from mod_print where (id_firm='1')");
//if($result == true){echo 'TRUE DB<br>';}

//Poluchenie massiva
$array mysql_fetch_array($result);

echo 
" '1':{        ";

do {
    
printf("
    
    'do_%s':'%s',
    
    "
    
,$array['id'],$array['model_p']);
    
}
while(
$array mysql_fetch_array($result));

echo 
"},"
?>

Может какой form action =' ' добавить?
Речь о регистрации оборудования.
Я хочу сделать так что бы вместо поля "Модель" было два списка (первый "Фирма", второй "Модель принтера", который зависит от выбранной фирмы), тоже самое с этажем и кабинетом, и простой список матответственных лиц.
При этом существуют три таблицы:
firm_printer (id, firm)
mod_printer (id, id_firm, model_p, cartrige)
printer (id, firm, model, sn, inv_num, cartrige, et, depar, mat_face)
И хотелось бы сделать так чтобы при выборе определенной модели значение поля cartrige в таблице print копировалось из значения поля cartrige таблицы mod_print выбранной модели.


HTML код: Выделить весь код
<form name="myForm" action="add_print.php" method="post" onSubmit="return splash();"> <input type="hidden" name="action" value="add"> <table width="100%" border="0" cellspacing="3" cellpadding="0"> <tr> <td>Модель</td> <td>Серийный номер</td> <td>Инвентарный номер</td> <td>Картридж</td> <td>Этаж</td> <td>Кабинет</td> <td>Мат. лицо</td> </tr> <tr> <td><input name="model" maxlength=30 size=22> </td> <td><input name="sn" maxlength=30 size=22></td> <td><input name="inv_num" maxlength=60 size=22></td> <td><input name="cartrige" maxlength=60 size=22></td> <td><input name="et" maxlength=60 size=22></td> <td><input name="depar" maxlength=60 size=22></td> <td><input name="mat_face" maxlength=60 size=22></td> </tr> </table> <table width="100%" border="0" align="center"><tr colspan=2><center><input type="submit" value="Отправить"></center></tr></table> </form>

Смотря на этот хтмл код я вообще не могу понять как в эту форму запихать такое количество других форм.

P.S. хорошо знаю только CSS да HTML, PHP начинаю изучать, не говоря уж про jQuery, AJAX, JS...
P.S.S. если что то не понятно уточняйте, как то сложно объяснить то, что видишь в своей голове (

Отправлено: 20:59, 09-01-2012

 

Deadooshka


Сообщения: 2566
Благодарности: 698

Профиль | Отправить PM | Цитировать


http://www.w3.org/wiki/HTML/Elements/option

в option не может быть name вообще, поскольку name указывается в select, чтобы выбранное значение (option value) попало в переменную.

недопонял я ваши выкладки.

рулите скрытыми полями <input type="hidden" name="" value="" />

Отправлено: 21:32, 10-01-2012 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для blackmane

Пользователь


Сообщения: 69
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо
Вы окозались правы по поводу нэйма, просто я допустил маленькую ошибку из-за чего не добовлялась информация

Цитата Sham:
недопонял я ваши выкладки. »
В смысле?
Цитата Sham:
рулите скрытыми полями <input type="hidden" name="" value="" /> »
По поводу скрытости поля не могу ничего говорить, так как такой вариант я нашел просторах интернета, а без поля инфа просто не добовляется

Вы часом мне не подскажите как сделать следующее:
при выборе принтера из таблицы mod_print для добавления в таблицу print значение поля cartrige выбранного принтера копировалось в поле cartrige таблицы print. Если я правильно понял (хотя последнее время мне кажется что я вообще ничего не понимаю) нужно использовать JOIN, но как его использовать с уже существующим запросом:
PHP код: Выделить весь код

INSERT INTO print(modelsninv_numcartrigeetdeparmat_faceVALUES ('$_POST[model]''$sn''$inv_num''$cartrige''$et''$depar''$_POST[mat_face]'

???

Отправлено: 22:28, 10-01-2012 | #12


Deadooshka


Сообщения: 2566
Благодарности: 698

Профиль | Отправить PM | Цитировать


Цитата blackmane:
при выборе принтера из таблицы mod_print для добавления в таблицу print значение поля cartrige выбранного принтера копировалось в поле cartrige таблицы print. »
на словах не надо, нужен код. Что есть, что надо.


мануал по синтаксису запросов тут (на примерах понятно все).

Отправлено: 10:19, 11-01-2012 | #13


Аватара для blackmane

Пользователь


Сообщения: 69
Благодарности: 0

Профиль | Отправить PM | Цитировать


Используя динамические селекты я столкнулся с проблемой, в первом списке в value выводится ID, что облегчает подключение подчиненных списков
PHP код: Выделить весь код

'ЗНАЧЕНИЕ VALUE ГЛАВНОГО СПИСКА':{

      
'ie_win':'Windows',
      
'ie_mac':'Mac'
  
}, 

, но чтобы подключить более одного вторичного списка приходится копировать все это:
PHP код: Выделить весь код

<?php

include "../data/dbconfig.php";
$result mysql_query("select * from mod_print where (id_firm='1')");
$array mysql_fetch_array($result);

echo 
" '1':{        ";

do {
    
printf("
    
   '%s':'%s',
    
    "
    
,$array['model_p'],$array['model_p']);
    
}
while(
$array mysql_fetch_array($result));

echo 
"},"
?>

И изменять значение в
PHP код: Выделить весь код

select from mod_print where (id_firm='1'

и
PHP код: Выделить весь код

echo " '1':{"

на следующую цифру.
Я попытался сделать цикл на
PHP код: Выделить весь код

echo " '1':{"

, но столкнулся с проблемой в
PHP код: Выделить весь код

select from mod_print where (id_firm='1'

, как сделать так чтобы
PHP код: Выделить весь код

<?php

include "../data/dbconfig.php";
$result mysql_query("select * from mod_print where (id_firm='1')");
$array mysql_fetch_array($result);

echo 
" '1':{        ";

do {
    
printf("
    
   '%s':'%s',
    
    "
    
,$array['model_p'],$array['model_p']);
    
}
while(
$array mysql_fetch_array($result));

echo 
"},"
?>

, "копировалось" и изменялось значение выше указанных "полей" на +1?

Отправлено: 18:40, 11-01-2012 | #14


Deadooshka


Сообщения: 2566
Благодарности: 698

Профиль | Отправить PM | Цитировать


ну определите какие ID нужны и вперед

PHP код: Выделить весь код

$result mysql_query"SELECT * FROM `mod_print` WHERE `id_firm` IN (1,3,5,7,8,9,23)" );

$arr $arr2 = array();


while (
$array mysql_fetch_array($result))
    
$arr[$array['id_firm']][] = sprintf("'%s':'%s'"$array['model_p'], $array['model_p']);

if (
$arr)
    foreach (
$arr as $k => $i)
        
$arr2[] = "'" $k "':{" implode(','$i) . "}";


echo 
implode(','$arr2); 

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:34, 12-01-2012 | #15


Аватара для blackmane

Пользователь


Сообщения: 69
Благодарности: 0

Профиль | Отправить PM | Цитировать


Все работает. Спасибо!
Я бы хотел спросить как оно работает, я понял только строку с выборкой, вижу цикл foreach, if, while. Что означает $k и $i????

Отправлено: 00:33, 14-01-2012 | #16


Deadooshka


Сообщения: 2566
Благодарности: 698

Профиль | Отправить PM | Цитировать


Цитата blackmane:
Что означает $k и $i? »
почитайте про foreach

Отправлено: 10:28, 14-01-2012 | #17



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] [PHP, MySQL, JS]Использование селекта в регистрации

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] установил apache+php+MySQL но MySQL не работает ejik_off Вебмастеру 13 10-05-2011 21:54
[решено] Использование stored procedure в MySQL Strange_V Вебмастеру 2 04-06-2009 15:00
[решено] Apache 2.2.8 + Php 5.2.6 + MySQL 5.0.51b (win) - не работает php v0f41k Вебмастеру 4 11-05-2008 22:08
PHP+MySQL GhostBuster Программирование и базы данных 7 21-08-2003 21:07
php и mysql ZDemon Программное обеспечение Linux и FreeBSD 7 08-02-2003 03:33




 
Переход