2016-06-14 4 views
1

私はphpでmysqlを読み込み、oopで読み込もうとしています。propetiesからどのように使えますか?mysqlでmysqlを読み込む際にoopを使用するには?

これは、データベースから読み込むための私のクラスと検索機能である:私は、検索したい

<?php 
require_once('dbconfig.php'); 

class Film { 

public $name; 
public $year; 
public $country; 
public $director; 
private $conn; 

public function __construct() { 
    $database = new Database(); 
    $db = $database->dbConnection(); 
    $this->conn = $db; 
} 

public function runQuery($sql) { 
    $stmt = $this->conn->prepare($sql); 
    return $stmt; 
} 
public function search($name,$year,$country,$director) { 
    try { 
     $stmt = $this->conn->prepare("SELECT * FROM table where name='$name' or year='$year' or country='$country' or director='$director'"); 
     $stmt->execute(); 
     $num_rows = $stmt->rowCount(); 
     if ($num_rows > 0) { 

      echo "</br>".$num_rows."&nbsp; film is found. </br>"; 
      echo "</br><table><tr><th>Name</th><th>Year</th><th>Country</th><th>durationMinutes</th><th>Director</th></tr>"; 

      while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 

       echo "<tr><td>" . $row['name'] . "</td><td>" . $row['year'] . "</td><td>" . $row['country'] . "</td><td>" . $row['durationMinutes'] . "</td><td>" . $row['director'] . "</td></tr>"; 
      } 
      echo "</table>"; 
     } else { 
      echo "Nothing found !"; 
     } 
    } catch (PDOException $e) { 
     echo $e->getMessage(); 
    } 
} 
} 

()オブジェクトとプロパティに基づいています。

コードを変更するにはどうすればよいですか?

+0

のようなあなたの接続ファイルにクラスのフィルムを初期する必要がありますが、タイトルに改築を与えることができますか? – Drew

+0

私はムービーのリストを持っていて、ユーザーは「名前」または「国」または「年」または...で検索することができます。 –

答えて

2

あなたはその機能を呼び出すことを希望しましたか? このコードは、たとえばindex.phpなどに配置してください。

$film->search($name,$year,$country,$director); 

いますが、この

session_start(); 
$host = "localhost"; 
$user = "root"; 
$pass = ""; 
$database="database"; 
try { 
$con = new PDO ("mysql:host={$host}; dbname={$database}", $user, $pass); 
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
//$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); 
} 
catch (PDOEXception $e) { 
echo $e->getMessage(); 
} 
include_once 'class_film.php'; 
$film= new Film($con); 
+0

検索のパラメータ($ name、$ year、$ country、$ director)がクライアントから送信されます。私はクラスのプロパティから "public $ name"などのように使いたいと思っています。一般的に私はオブジェクト指向を使用したい。 –

関連する問題