2017-06-12 22 views
1

所以,我将这个小电影收藏集制作成很棒的项目,我只是想添加更多的功能,但我无法完成这项工作。我希望能够按一个流派,只列出喜剧,或某一年,看看今年的所有电影。带多列的PHP项目

我有这个从我database.php中列出了所有的电影我也有,

public function getAll($table){ 
     $stm = $this->pdo->prepare('SELECT * FROM '.$table); 
     $success = $stm->execute(); 
     $rows = $stm->fetchAll(PDO::FETCH_ASSOC); 
     return ($success) ? $rows: []; 
    } 

在我的index.php我有这个

case '/': 
    $movie = $movieModel->getAll(); 
    //$controller->index(); 
    require $baseDir.'/views/index.php'; 
break; 

那么,如何将一个去刚刚上市一列? 我要取的那些被命名为MOVIE_GENRE,movie_year,movie_media

希望这里的信息足以让一个解决方案:)

回答

0

当你有一个GETALL功能,您应该创建一个新的带刚你想要的数据。您应该使用select movie_genre, movie_year, movie_media ...,而不是使用select *,然后使用您想要在where子句中使用的条件。

我现在从移动应答。对不起,没有完整的代码。希望能帮助到你。

+0

感谢您的回答!在我问这里之前,我尝试了几件事,你的意思是什么? public function getInfo($ table){ $ stm = $ this-> pdo-> prepare('SELECT movie_genre FROM'。$ table); $ success = $ stm-> execute(); $ rows = $ stm-> fetchAll(PDO :: FETCH_ASSOC); return($ success)? $ rows:[]; } case'/': $ movie = $ movieModel-> getInfo(); // $ controller-> index(); 需要$ baseDir。'/ views/index.php'; 休息; 我真的很陌生,因为你可能明白,真的appeciate我可以得到的所有帮助! :D 嗯,我不能让缩进工作正常,所以它只是一团糟! – EvenSteven

+0

是的。我用Java编写代码,但我认为这很好。您的疑虑似乎更多地是关于SQL而不是PHP。因此,请参阅[this](https://www.w3schools.com/sql/sql_select.asp)和[this](https://www.w3schools.com/sql/sql_where.asp)以获取更多信息。 –

0
public function getAll($table, $select){ 
     $stm = $this->pdo->prepare("SELECT $select FROM $table"); 
     $success = $stm->execute(); 
     $rows = $stm->fetchAll(PDO::FETCH_ASSOC); 
     return ($success) ? $rows: []; 
    } 


case '/': 
    $movie = $movieModel->getAll('table_name', 'movie_genre, movie_year, movie_media'); 
    //$controller->index(); 
    require $baseDir.'/views/index.php'; 
break; 
+0

谢谢!我几乎能够工作,当我点击流派时,它并不是什么都没有出现。我会继续努力,现在不能这么失落。但如果你有另一个想法,我也很乐意看到这一点。 – EvenSteven