2015-02-25 4 views
-1
$user_query = mysql_query("select * from student where student_id='$session_id'") or die(mysql_error()); 
$user_query = mysql_query("select * from teacher where teacher_id='$session_id'") or die(mysql_error()); 
$user_row = mysql_fetch_array($user_query); 
$params["nick"] = $user_row['firstname']." ".$user_row['lastname']; 

Я работаю на форуме чата, где и лектор, и учащийся имеют доступ к этой странице. $params["nick"] - это имя, присвоенное пользователю, который посещает эту страницу на основе session_id. поскольку как лектор, так и учащийся могут получить доступ к этой странице, я хотел бы выбрать между двумя запросами, так что если это студент, выполняется первый запрос или если он является преподавателем, выполняется второй запрос.как выбрать между двумя запросами

+0

Вы не можете, потому что вы перезаписываете переменную! – Rizier123

+1

Откуда вы знаете, учитель или преподаватель? – Albzi

+0

помещают эти 2 запроса в if php, не смешивая их магически – Mihai

ответ

0

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

Что вам нужно сделать, это получить способ дифференциации, если пользователь является учителем или учеником.

Затем сделайте заявление if.

if ($session_id >= 100000){ 
    $user_query = mysql_query("SELECT * FROM teacher WHERE teacher_id='$session_id'"); 
} else { 
    $user_query = mysql_query("SELECT * FROM student WHERE student_id='$session_id'"); 
} 

Тогда $user_query не перезаписывается и один или другой.

Затем вы можете сделать ваш $user_row = mysql_fetch_array($user_query);

В качестве примечания:

Не используйте mysql_* больше! Это не хороший код! Посмотрите на mysqli_* или PDO и подготовленные заявления!

+0

session_id для начала лектора от 1000001, а ученик от 1. –

+0

Обновлено @IndicesLogEbenezerCalculus – Albzi

+0

k , Я пытаюсь это сделать. заранее спасибо –

0

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

$user_query = mysql_query("select * from student where student_id='$session_id'") or die(mysql_error()); 
$user_row = mysql_fetch_array($user_query); 
if (mysql_num_rows($user_query) == 1) { 
    $params["nick"] = $user_row['firstname']." ".$user_row['lastname']; 
} else { 
    $user_query = mysql_query("select * from teacher where teacher_id='$session_id'") or die(mysql_error()); 
    $user_row = mysql_fetch_array($user_query); 
    if (mysql_num_rows($user_query) == 1) { 
     $params["nick"] = $user_row['firstname']." ".$user_row['lastname']; 
    } 
} 

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

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