2015-10-31 2 views
0

Я работаю над своим проектом, и я хочу получить имя, фамилию, номер телефона и адрес электронной почты из tablesite + job_name из job_list + комментарии из отношения. это мой код:соединяйте три таблицы вместе SQL PHP

<fieldset class="fdex" > 
     <legend><span class="style4">لیست مشاغل</span></legend> 


     <?php 

$db_host = 'localhost'; 
$db_name= 'site'; 
$db_table= 'tablesite'; 
$db_user = 'root'; 
$db_pass = ''; 




$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده"); 
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده"); 
mysql_query("SET CHARACTER SET utf8"); 

$dbresult=mysql_query("SELECT tablesite.name, 
          tablesite.family, 
          tablesite.phone_number, 
          tablesite.email, 
          job_list.job_name, 
        FROM $db_table 
        INNER JOIN relation 
        on tablesite.id_user=relation.user_id 
        INNER JOIN job_list 
        on relation.job_id=job_list.job_id",$con); 

while($amch=mysql_fetch_assoc($dbresult)) 
{?> 

<?php 
echo "* نام: "."&nbsp&nbsp&nbsp".$amch["tablesite.name"]." ".$amch["tablesite.family"]."&nbsp&nbsp&nbsp"."* عنوان خدمت: ".$amch["job_list.job_name"]."&nbsp&nbsp&nbsp"."* شماره تماس: ".$amch["tablesite.phone_number"]."&nbsp&nbsp&nbsp"."* ایمیل: ".$amch["tablesite.email"].'<br>' 
.$amch["relation.comments"].'<br>'; 

} 
?> 

</fieldset> 

когда я запускаю код у меня есть ошибка:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\source\JobList.php on line 259

линия 259:

while($amch=mysql_fetch_assoc($dbresult)) 

tablesite: id_user, имя, семья, phone_number, электронная почта

job_list: job_id, job_name

отношения: job_id, user_id, комментарии

+0

Проверьте наличие ошибок при выполнении запроса. http://php.net/manual/en/function.mysql-error.php Также рассмотрите возможность обновления до 'mysqli' или' pdo' в будущем. – chris85

ответ

1

Ваш запроса имеет лишнюю запятую, что Isnt необходимо, обновите ваш запрос следующим образом:

SELECT tablesite.name, 
         tablesite.family, 
         tablesite.phone_number, 
         tablesite.email, 
         job_list.job_name //<--it was here 
       FROM $db_table 
       INNER JOIN relation 
       on tablesite.id_user=relation.user_id 
       INNER JOIN job_list 
       on relation.job_id=job_list.job_id 

Вы также не нужно указать имя таблицы в PHP:

<?php 
echo "* نام: "."&nbsp&nbsp&nbsp".$amch["name"] 
."  ".$amch["family"]."&nbsp&nbsp&nbsp"."* عنوان خدمت:" 
.$amch["job_name"]."&nbsp&nbsp&nbsp"."* شماره تماس:" 
.$amch["phone_number"]."&nbsp&nbsp&nbsp"."* ایمیل:" 
.$amch["email"].'<br>'.$amch["comments"].'<br>'; 

} 
?> 
+0

u помог мне, но u не решил все проблемы – sammy

+0

Проверьте мои изменения, не заметил это. –

+0

отношение.com замечания и забыл. хорошо, спасибо – sammy

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