2014-02-04 5 views
0

У меня есть две таблицы ...SQL объединения данных из двух таблиц

+-----------+-----------+ 
| employees | positions | 
+-----------+-----------+ 
| id  | id  | 
| fname  | pos  | 
| lname  |   | 
| hphone |   | 
| cphone |   | 
| email  |   | 
| posid  |   | 
+-----------+-----------+ 

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

Я знаю, как сделать раскрывающийся список, но я не уверен, как настроить sql и как сохранить его в качестве новой записи ... может кто-то мне поможет?

Код им с помощью для выпадающего меню является функция называется GetPos и ​​это ...

function getpos(){ 
$sql=mysql_query("SELECT id,pos FROM positions"); 
if(mysql_num_rows($sql)){ 
$select= '<select name="select">'; 
while($rs=mysql_fetch_array($sql)){ 
    $select.='<option value="'.$rs['id'].'">'.$rs['pos'].'</option>'; 
    } 
} 
$select.='</select>'; 
echo $select; 
} 

он прекрасно работает ... назвать его я использую

это является SQL я думал о ... это правильно?

SELECT employees.id, employees.fname, employees.lname, employees.hphone, 
employees.cphone, employees.email, employees.posid 
FROM employees 
INNER JOIN 
positions ON positions.posid = employees.posid 
+0

Вы не делаете выпадающий список в SQL, вы? Вы должны сообщить нам, какие языки, рамки и т. Д. Вы используете, прежде чем мы сможем вам помочь. – ps2goat

+0

Есть ли у вас какие-либо знания SQL? Похоже, вы спрашиваете, как вставлять фиктивные данные в вашу обычную таблицу ... –

+0

@ ps2goat true, но более того, мы можем просто дать ему код, чтобы сделать это, например, в asp.net или C# winforms. Вам нужно продемонстрировать хотя бы базовое знание вопроса, который вы задаете. – logixologist

ответ

1

Использование:

SELECT id, pos FROM positions ORDER BY pos DESC; 

заполнить выпадающий список. Позиции будут указаны в порядке убывания.

Я не знаю, какой метод вы используете для формы action (GET/POST). Но на следующей странице вы получите $_GET['id'] или $_POST['id'] и вставьте это в своих других сотрудников таблицы (posid).

Затем вы используете значения из формы для вставки в вашу базу данных.

INSERT INTO (fname, flname, hphone,cphone,email, posid 
FROM employees 
VALUES (....values from the form ...); 

Одна из переменных, которую вы хотите вставить, - это идентификатор с позиций.

Если вы хотите выбрать данные из базы данных, чтобы отобразить их в таблице, например, вы могли бы использовать этот запрос:

SELECT position.name, employees.fname, employees.flname, 
employees.hphone, employees.cphone,employees.email 
FROM employees JOIN positions 
ON employees.posid = posistion.id; 
+0

@ user3251779 Вы решаете вопрос с ответом выше? Или вам все еще нужна помощь? –

+0

Я думаю, что эта помощь .... Большое спасибо за помощь ... ее действительно оценили. – user3251779

+0

@ пользователь3251779 приветствуется. Я не знаю, знакомы ли вы с опцией upvote/accept в stackoverflow. Вы можете поддержать или принять ответ, если считаете, что это помогло вам решить вопрос. Вы можете сделать это, нажав на стрелку или поместите галочку в левой части ответа, который вам нравится. Я бы очень признателен, если вы это сделаете. В свою очередь, я также увеличу свою репутацию, если вы согласитесь с вашими ответами. В любом случае удачи с вами проект. –

Смежные вопросы