0

個人用の Google ドライブまたは Dropbox 用のボイラープレート スクリプトを購入しました。このスクリプトに最初に追加したかった機能の 1 つは、リポジトリ内のファイルを名前で検索する機能でした (現時点では特定の正規表現を除く)。スクリプトは PHP でコーディングされており、私は ZEND フレームワークに慣れていないため、リソースの場所が面倒でした。ZENDフレームワークのリファレンスを読んでいますが、いくつかの重要な知識が欠けていると思います:

http://framework.zend.com/manual/1.12/en/reference.html

エラー: http://cl.ly/image/3A0B360T1B2f

私の /views ディレクトリにある index.phtml というファイルで:

<?php
echo <<<DPRS
<html> <head>
<title>Search Form</title> <head>
<body>
<form id="myform" action="search.php" method="POST">
Search for: <input type="text" name="search_text" />
<input type="submit" value="Submit" />
</form>
DPRS;
?>

/controllers ディレクトリにある search.php というファイルで (データベースの詳細は省略しました。データベース、テーブル、および列はサーバー上に存在します):

<?php
$search_val = $_POST['search_text'];

$hostname = "hostname"; 
$username = "username"; 
$password = "password"; 
$database = "database"; 
$tablename = "table"; 

$connection = mysql_connect($hostname, $username, $password);
if($connection) { 
if(mysql_select_db($database, $connection)) {
$result = mysql_query("SELECT * FROM $tablename");
while($row = mysql_fetch_array($result)) { 
if($row['COLUMN'] == $search_val) { 
echo $row['COLUMN'] . "
\n"; 
}
}
} else {
die("Could not connect to database " . $database);
}
} else {
die("Could not connect to host: " . mysql_error());
}
?>

ヘルプ、ポインタ、マニュアルはすべて大歓迎です!

4

1 に答える 1

3

デフォルトの Zend Framework ディレクトリ構造は次のようになります。

  • 応用
    • コントローラー
      • SearchController.php
    • ビュー
      • スクリプト
        • 探す
          • index.phtml

したがって、代わりにsearch.phpコントローラーに名前を付ける必要がありますSearchController.php。コントローラーからアクションを呼び出すと、index.phtmlビュー スクリプトが呼び出されます。index( http://www.yourdomain.com/search/indexまたはhttp://www.yourdomain.com/searchのみ)

検索コントローラーは次のようになります。

class SearchController extends Zend_Controller_Action
{
    public function indexAction()
    {

    }
}

Zend Framework を使用している場合は、フォームにZend_Formを使用できます。クイックスタート Zend_Form

また、関数を使用しないでくださいmysql_*。ZF にはZend_Dbがあります。ZF は簡単ではありません (特に ZF2)。しかし、それを学ぶのに少し時間がかかると、それは報われます。Quickstart全体を確認することをお勧めします。

于 2013-06-17T16:13:26.857 に答える