0

需要一些帮助,我知道这样做的唯一方法是使用 JOIN,但我的查询不起作用?

哦,是的,我知道我应该改用 PDO 和 mysqli,但这只是针对个人项目。

<?php
    //query voor tabel projecturen
   $samenvoegen = mysql_query("SELECT gebruikersid.projecturen gebruikersnaam.gebruikers FROM `projecturen` WHERE projectid= '$projecturenid' LEFT JOIN `gebruikers` ON gebruikersid.projecturen=gebruikersnaam.gebruikers ") 
   or die( mysql_error() );
   //toon wanneer er geen uren in de database staan
   if ( mysql_num_rows( $samenvoegen ) == 0 ) 
      echo '<h3 class="error">Er zijn nog geen uren ingevult voor dit project</h3>';
   else {
      while($svgebruiker = mysql_fetch_object( $samenvoegen ) ) {
   ?>

我是 PHP 和 SQL 的新手,所以不要太苛刻;)

解决方案!感谢人们的帮助

 <?php

                                //query voor tabel projecturen
                                $urenoverzicht = mysql_query("SELECT * FROM `projecturen` INNER JOIN `gebruikers` ON gebruikers.id = projecturen.gebruikerid AND projectid='$projecturenid'") or die(mysql_error());


                                //toon wanneer er geen uren in de database staan
                                if (mysql_num_rows($urenoverzicht)==0) 
                                    echo '<h3 class="error">Er zijn nog geen uren ingevult voor dit project</h3>';
                                else 
                                {
                                    while($urenov = mysql_fetch_object($urenoverzicht))
                                {


                   ?>
4

2 回答 2

0
SELECT gebruikersid.projecturen gebruikersnaam.gebruikers 
FROM `projecturen` 
LEFT JOIN `gebruikers` ON gebruikersid.projecturen=gebruikersnaam.gebruikers 
WHERE projectid= '$projecturenid' 
于 2013-10-11T07:25:54.633 回答
0

@Wietze314 在 JOIN 语句之后放置 WHERE 子句是正确的,但是查询也缺少逗号来分隔字段,而且它应该是 tablename.fieldname 而您似乎正在使用 fieldname.tablename?

所以如果你的表名是projecturenand gebruikers,那么它应该是这样的:

SELECT `projecturen`.datum
, `projecturen`.uren
, `gebruikers`.naam
FROM  `gebruikers`
LEFT JOIN `projecturen` ON `gebruikers`.id=`projecturen`.gebruikersid
WHERE `projecturen`.projectid= '$projecturenid'
于 2013-10-11T07:51:12.443 回答