2015-04-28 4 views
0

Новичок, чтобы присоединиться к запросам. Я написал запрос соединения для двух таблиц: Кандидат и кандидат_контакт. Где cand_number является первичным ключом в таблице кандидатов и FK в кандидате_контакт. также cand_cid - мой основной ключ в кандидате_контакт Но после отправки запроса данные не отображаются. Его единственная печать до -echo «in result»;Чтобы распечатать данные из базы данных, используя запрос объединения

if(isset($_POST['candi_s_by_code'])) 
{ 
    $sql="SELECT * FROM candidate,candidate_contact WHERE candidate.cand_number=candidate_contact.cand_number AND candidate.cand_number=$candname"; 
    echo "selected candidate code"; 
} 
$result = mysql_query($sql) or die(mysql_error()); 
echo "in result"; 

while($row=mysql_fetch_array($result)) 
{ 
    $FirstName =$row['cand_fname']; 
    $LastName=$row['cand_lname']; 
    $Mail=$row['cand_mail']; 
    $Telephone=$row['cand_tel']; 
    $Mobile=$row['cand_mobile']; 
} 
+0

попытайтесь проверить, поступают ли данные с помощью 'print_r ($ result);' –

+0

@ MujahedAKAS..что бы я не попробовал. – vinod

+0

@MujahedAKAS не работает. его движение в бесконечном цикле. – vinod

ответ

0

вы закрываете щелчок скобку кнопки над запросом SQL так не сделать, как это я не не от того, где ур получать $candname кстати

if(isset($_POST['candi_s_by_code'])) 
{ 
    $sql="SELECT * FROM `candidate,candidate_contact` WHERE `candidate.cand_number`=`candidate_contact.cand_number` AND `candidate.cand_number`='".$candname."'"; 


$result = mysql_query($sql) or die(mysql_error()); 


while($row=mysql_fetch_assoc($result)) 
{ 
    $FirstName =$row['cand_fname']; 
    $LastName=$row['cand_lname']; 
    $Mail=$row['cand_mail']; 
    $Telephone=$row['cand_tel']; 
    $Mobile=$row['cand_mobile']; 
}} 
+0

@vinod это решение работает или нет? –

+0

Я просто попробовал Но это даёт ошибку: Неизвестный столбец 'кандидат.cand_number' в 'where clause' – vinod

+0

@vinod, поэтому проблема может быть в запросе ur проверить имя столбца таблицы базы данных –

0

Убедитесь, что Название переменной $candname в запросе правильно , Мой лучший гость из вас код, вы proberbly были supose использовать $_POST['candi_s_by_code'] вместо $candname попробовать этот

$sql="SELECT * FROM `candidate,candidate_contact` WHERE `candidate.cand_number`=`candidate_contact.cand_number` AND `candidate.cand_number`='".$_POST['candi_s_by_code']."'"; 
+0

попытайтесь повторить значение $ candname, и почему вы приравниваете $ candname с помощью cand_number ??? – eddySoft

+0

@eddysoft ..... В основном это поисковый запрос. где пользователь вводит код. И он будет сравнивать и искать этот код в базе данных. cand_number - столбец базы данных, а $ candname - идентификатор поля текстового поля. – vinod

+0

@eddysoft ... я реализовал ваш код, но он дает ошибку как: Неизвестный столбец «кандидат.cand_number» в «where clause» – vinod

0

Попробуйте проверить, если у вас есть

$_POST['candi_s_by_code'] с помощью echo $_POST['candi_s_by_code'];

и $candname по используя echo $candname;

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

select * from candidate join candidate_contact ON candidate.cand_number =candidate_contact.cand_number where candidate.cand_number='$candname';

если вы не хотите, чтобы изменить ваш запрос на выборку попробовать добавить одиночный quotatoion «$ candname» вокруг переменной PHP в запросе на выборку.

+0

мы пробовали код выше, но его не выдавали. без ошибок. – vinod

+0

@ MujahedAKAS..Спасибо AKAS..Некоторые изменения в вашем коде, и это сработало для меня. Спасибо.Я отправлю правильный запрос. – vinod

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