SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 31.07.2008 12:58:04

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

заполнение одной таблтцы из многих

Извините, что обращаюсь, я только начал изучать MySQL  и еще мало чего понимаю, но мне нужно сделать такое задание. Есть база данных их 3-х таблиц.
1-я таюлица инфа о компе его IP, сетевое имя, ИН
2-я таблица набор железяк из которого он собран, проц, мать, модем, графический адаптер и прочее
3-я таблица - содержит в себе все запчасти со всех компов, то есть она набирается из 2-й таблицы. Я решил проблему отсеивания дублирующик компонентов, но какбыть с тем, что таблиц набора железяк много, а 3-я таблица - одна, заранее благодарю за ответ

Неактивен

 

#2 31.07.2008 13:15:19

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: заполнение одной таблтцы из многих

Лучше не делать отдельной таблицы 2 для каждого компьютера, тогда отпадает необходимость
иметь таблицу 3 вообще smile

Т.е. стоит сделать как-то так:
1 таблица computers: id, ip, name, ...
2 таблица hardware: id, computer_id, type, description, ...

при этом число второй таблицы computer_id совпадает с id компьютера из первой таблицы.

Неактивен

 

#3 01.08.2008 13:13:56

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

Спасибо большое, я попробую сделать так

Неактивен

 

#4 01.08.2008 13:22:12

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

И еще один вопрос в догонку, работаю с PHP, надо выполнить запрос
insert into organization values(...)
В PHP использую функцию mysql_query для выполнения запроса, т.е. в коде получается
$ath=mysql_query("insert into Jhganization values($cname,$cadress,$cphone)");
но дескрипотор запроса постоянно получается FALSE, в чем может быть проблема, если база открывается без ошибок?

Неактивен

 

#5 01.08.2008 13:50:31

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

Сорри, нашел такуюже тему, буду разбираться в кавычках

Неактивен

 

#6 01.08.2008 14:12:06

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: заполнение одной таблтцы из многих

Думаю, дело в том, что слово "organization" написано как "jhganization".

Проще всего проверить, если писать mysql_query (...) or die (mysql_error());

Неактивен

 

#7 04.08.2008 11:27:45

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

вот отрывок кода
$result = mysql_query("Insert into Organization (name,adress,phone number) values ('$cname' ,'cadress', 'cphone')")
        or die("Invalid query");
P.S. я мспользую Denver, там используется PHP4

Неактивен

 

#8 04.08.2008 12:08:01

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: заполнение одной таблтцы из многих

phone number с пробелом не может быть именем колонки. Если она действительно так называется, то заключите в обратные кавычки `phone number`. Лучше всего приведите результат SHOW CREATE TABLE Organization;
or die лучше всего писать так: or die(mysql_error()); в этом случае у Вас будет код ошибки

Неактивен

 

#9 05.08.2008 10:41:39

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

Спасибо большое, вроде заработало!!!!

Неактивен

 

#10 05.08.2008 11:41:09

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

И еще одим маленький вопросик, насчет таблиц и их полей.

1 таблица computers: id, ip, name, ...
2 таблица hardware: id, computer_id, type, description, ...

при этом число второй таблицы computer_id совпадает с id компьютера из первой таблицы.
поле computer_id должна автоматически заполняться из первой таблицы?

Неактивен

 

#11 05.08.2008 12:11:22

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: заполнение одной таблтцы из многих

Автоматически ничего заполняться не будет, только если Вы предусмотрите такую логику приложения.

Неактивен

 

#12 05.08.2008 13:22:42

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

понятно!

Неактивен

 

#13 06.08.2008 12:18:04

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

И еще ондин вопросик, на злобу дня. У меня есть две таблицы
1-организации
2-пользователи
для привязывания пользователя к организации в таблице пользователь есть поле огранизация, которое совпадает с именем компании в таблице организация. Пишу HTML форму для заполнения этой базы, хочу для привязывания пользователя к организации организовать раскрывающийся список, т.е. чтобы показывались все имена компаний. Вопрос в следующем как данные из обработчика загрузить в HTML форму?

Неактивен

 

#14 06.08.2008 12:22:06

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: заполнение одной таблтцы из многих

Можно использовать Javascript или AJAX, вопрос на эту тему будет уместен на webew.ru

Неактивен

 

#15 08.08.2008 12:40:01

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

Я, наверное, уже замучал вассвоими дурацкими вопросами...но вот еще один

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

//форма

<form action="addusers.php5" enctype="multipart/form-data" method="post" name="burnout">
<select type="text" name="bkl">
<?
   
    $location="localhost";
    $user="root";
    $pass="";

    $dbcnx=@mysql_connect($location,$user,$pass) or die ("В настоящий не может осуществится соединение");
    @mysql_select_db("burnoutbrain", $dbcnx) or die("В настоящий момент база данных не доступна");

    $qwer=mysql_query("SELECT * FROM `Organization` WHERE 1 LIMIT 0, 30");
    while ($organization=mysql_fetch_array($qwer))
    {
   
    echo "<option value=$organization['name']>"; echo $organization['name']; echo"</option>";
    }

   
   
?>

//обработчик

$result = mysql_query("Insert into USERS(`organization`) values ('{$_POST[bkl]}')") or die(mysql_error());

Неактивен

 

#16 08.08.2008 14:49:49

Sign
Гуру
Зарегистрирован: 26.06.2008
Сообщений: 43

Re: заполнение одной таблтцы из многих

Когда вы писали

echo "<option value=$organization['name']>"; echo $organization['name']; echo"</option>";

Вы видимо хотели написать:
echo "<option value={$organization['name']}>"; echo $organization['name']; echo"</option>"; // Обратите внимание на фигурные скобки

Но лучше всё же как-нибудь так:
echo '<option value="'. $organization['name']. '">'. $organization['name']. '</option>';

Неактивен

 

#17 12.08.2008 11:29:33

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

сделал как, вы, посоветовали, но все равно запись в поле таблицы не происходит, в чем еще может скрываться проблема?

Неактивен

 

#18 12.08.2008 11:35:52

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

Вернее будет сказать, что поле заносится, но оно пустое, т.е. если заносить только этополе, то в MYphpADMIN видно, что происходит увелечение колонок в таблице, но они пустые...

Неактивен

 

#19 12.08.2008 12:08:58

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

также в ьоработчике пробовал просто вывести этку переменную, но она пустая

Неактивен

 

#20 12.08.2008 12:18:37

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: заполнение одной таблтцы из многих

Попробуйте написать статический <option value='xx'>Статическая опция</option> и проверить все ли будет в порядке

Неактивен

 

#21 12.08.2008 13:33:50

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

попоробовал, пременная в обработчике, все равно пустая

Неактивен

 

#22 12.08.2008 16:11:40

Sign
Гуру
Зарегистрирован: 26.06.2008
Сообщений: 43

Re: заполнение одной таблтцы из многих

мистика, однако ; )
данные точно приходят? что выведет следующий код в начале обработчика?

print_r($_POST);
die;

Неактивен

 

#23 13.08.2008 11:35:15

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

ничего невыводит, так же как и echo $_POST[]; в том то и дело, что в обработчик приходит пустышка, чего делать не пойму.

Неактивен

 

#24 13.08.2008 12:35:52

Sign
Гуру
Зарегистрирован: 26.06.2008
Сообщений: 43

Re: заполнение одной таблтцы из многих

Покажите оба файла, полностью и с реальными именами.
А писать echo $arrayName[]; или echo $arrayName; не стоит. В первом случае Вы получите ошибку стадии компиляции, а во втором строку Array не зависимо от количества элементов массива

Неактивен

 

#25 13.08.2008 13:15:37

freelancer89
Завсегдатай
Зарегистрирован: 31.07.2008
Сообщений: 28

Re: заполнение одной таблтцы из многих

это вот формочки

Отредактированно freelancer89 (13.08.2008 13:18:24)


Прикрепленные файлы:
Attachment Icon addusersforms.php5, Размер: 5,577 байт, Скачано: 1,233

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson