問題タブ [database-abstraction]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - モデルの高度な検索(MVC)
次のような高度な検索を作成したいと思います。
- テキストボックス:検索
- ドロップダウン:名前、場所、電話で検索
- ドロップダウン:AscまたはDecで注文
- ドロップダウン:名前、場所、または電話で並べ替え
- ドロップダウン:日付間を検索(選択した場合)
モデルの関数にこれらのパラメーターを追加する適切な方法は何ですか?
私はこの解決策を思いついた:
編集:私は変数について話している---findBy($find, $searchBy, $order, $sort, $betweenDate)
私はそれらのすべてのパラメーターが必要ですか、それとも代替の解決策がありますか?
sql - libdbi のプリペアド ステートメント
libdbi を使用して、データベースに依存しないアプリケーションを作成したいと考えています。準備済みステートメントを使用したいと思います。libdbi で準備済みステートメントを使用するにはどうすればよいですか? 私が見たすべての例では、通常の select bla from blob where foo; を使用しています。入力エスケープ用に libdbi が提供するエスケープ関数を使用します。
libdbi でこれを行うことができない場合、それを行うことができる別の db-abstraction-library を推奨するか、そのような機能が意味をなさない理由を説明できますか?
php - どんなデータベースにも対応する PHP 書き込みプログラム
PHP 開発に関する 1 つの質問。計算用のフォーム フィールドを作成しています。Jquery は整数値を計算し、ajax を介して PHP スクリプトに送信します。このスクリプトは、データベースからいくつかの値を選択し、値を計算してフォーム フィールドに返します。
今質問です。私はMysqlに慣れているので、PHP Mysql関数を使用して値を選択しています。その後、データソースは Postgres SQL にする必要があります。データソースから独立するための最良のプログラミング方法は何ですか? この問題に使用するデザイン パターンのようなものはありますか?
よろしく、
トニー
jquery - コントローラーからコントローラー、モデルへのデータの受け渡し
作業中のWebサイトに対して一連のクイズを作成していますが、ユーザーデータの保存に少し問題があります。構造が少し変わっているので、問題が発生する可能性があります。私のクイズコントローラーにはQuiz1、Quiz2などのラベルが付けられており、jqueryでリッスンされるQuizzerという関数をロードします。クイズページでラジオボタンがクリックされるたびに、jqueryはクイズをアクティブにしてユーザー入力を記録します。サンプルコードは次のとおりです。
これは、ページをロードするコードです。
値4がクイズに渡されるため、データベースに書き込むクイズがわかります。
これはコントローラークイズです:
$ user_idは、どのユーザーが$ dataにログインしているかを示し、$ questionは、ユーザーがどのグループからどのラジオボタンをクリックしたかを識別します。
$ qidは、ユーザーがどのクイズページを表示しているかを示す必要があります。このテストの場合、4がエコーアウトされたため、データを取得していることがわかりますが、データベースには書き込まれません。$ qidの代わりに4を手動で入力すると関数が機能することがわかりましたが、現在の$qid変数は受け入れられません。
これは、データベースへの保存を行うモデル関数です。
データ型を一致させるために$quizをintにキャストしようとしましたが、このトリックも機能しません。4を手動で入力する場合と変数として渡す場合の関数の動作に基づいて、データの型に問題があるように見えます(これが型キャストを試みた理由です)。
php - CodeIgniterのサンプルモデルの属性は何ですか?
CodeIgniterユーザーガイドでは、サンプルモデルには、対応するデータベーステーブルの各フィールドの属性がありました。
ただし、ブログ投稿のセットを返す場合、それらは一般的なオブジェクトにすぎません。
各ブログ投稿が一般的なオブジェクトのみになる場合、クラスの最初の属性の目的は何ですか?
各ブログ投稿を、そのコンテンツが入力された本格的なモデルオブジェクトとして用意しておくと便利なようです。次に、内部で値をフェッチするメソッドを記述できます。ただし、ユーザーガイドのすべての例は、各コントローラーが各モデルの1つのインスタンスを持ち、そのオブジェクトを使用してデータベース値を含む汎用オブジェクトをフェッチすることを示しているようです。さらに、例がモデルをインスタンス化する方法($this->load->model('Blog');
)は、コントローラー内にモデルのインスタンスが1つだけあると予想されることは明らかです。
私のブログ投稿にstatus
整数としてデータベースに保存されている値がありますが、いくつかの異なるコントローラーでその値を人間が読める文字列として表示したい場合、その関数/メソッドをどこに配置しますか?複数のコントローラーで必要であり、1つのオブジェクトに固有であるため、モデルオブジェクトのメソッドである必要があると思います。各ブログ投稿がモデルのインスタンスである場合、次のように書くことができます。
ただし、各ブログ投稿が汎用オブジェクトである場合は、次のようになります。
CodeIgniterの慣用句はどちらですか?2番目だとすると、サンプルモデルがこれらの内部属性を定義するのはなぜですか?
最後に、ボーナスポイントについて、この種の他の質問がある場合、どの本、記事、または例を見る必要がありますか?
php - 2 つの異なるアプリケーションを統合する方法は? Web アプリケーション
こんにちは、私は病院でプロジェクトに取り組んでいる学生です。このアプリケーション (apphp.com/php-medical-appointment/examples/sample2/index.php) と同様に、患者が医師の診察を予約できるアプリケーションを設計しました。アプリケーションは、php と mysql を使用し、microcms フレームワークで実行されますdb) mysql を使用してアプリケーションを作成したので、アプリケーションからデータベースにデータを送信する方法はありますか? get, data from their db これまでのところ、これらの方法を試しました odbc は機能しますか?なぜなら、ODBC でアプリケーションを再度作成する必要があるからです
ヘルプ
php - MVC - Codeigniter - モデルと対話するビュー
私が StackOverflow で見た MVC アーキテクチャに関する投稿のほとんどで、モデルはビューからではなく、コントローラーからのみ通信する必要があると述べていました。
これについては少し混乱しています。なぜなら、MVC を Google で検索する場合: - http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller - http://i.msdn. microsoft.com/dynimg/IC108622.gif グラフィックは、ビューからモデルへの直接の通信があることを示しているようです。
これについて私が疑問に思っている特定のアプリケーションは、ここhttp://kotowicz.net/jquery-option-tree/demo/demo.htmlのような Ajax/jQuery 階層選択ボックスです。各選択の後、モデルから次のボックスのデータを取得することを考えていました。Codeigniter フレームワークを使用しています。
ここでのベストプラクティスに関する専門知識の直後。
php - PHP と MySQL の単純なデータベースの抽象化
これは私の最初の投稿です。質問を改善できるかどうか教えてください。
私はウェブサイトを更新している最中です。つまり、ユーザーのサブスクリプションを処理し、売上 (私が作成した製品) を追跡します。近い将来、新しい機能を追加するためのオプションを開いたままにしておきたい. PHP と MySQL を使用して構築されています。
私は 5 年間、コードを真剣に更新していませんでした。コード全体を管理および更新しやすくする機会をつかもうとしています。特に、データベースとのやり取りをより良くしようとしています。
私は、次のような非常に簡潔な方法でデータベースとやり取りできるezSQLをいじりました。
私はそれが本当に気に入っています: 私はすぐに使用できるオブジェクトにたどり着き、以前とは異なり、多くの mysql_* 関数や SQL クエリをあちこちに配置することなく、コードを読みやすくします。
SELECT クエリに適していても、INSERT ステートメントにはあまり役に立たず、次のようなコードになる可能性があります。
それはもっと悪いかもしれませんが、それでも経験するのはそれほど良いことではありません. 私にとって最悪の部分は、前の例ほど単純ではないことです。
したがって、次のテーブル構造と PHP オブジェクトが与えられます。
これを行うための単純なライブラリが必要です。
...そして、クラスの各メンバーをデータベース内の同じ名前の列と照合し、それに応じてデータを挿入します。
私の質問は: そのようなライブラリはありますか? そうでない場合、なぜそれが悪い考えなのですか。
私は MVC について読んできましたが、このプロジェクトではやり過ぎだと思います。単純さの代わりに余分な複雑さが追加されます。たとえば、足場も、デフォルト コードを生成するものも必要ありません。また、このような単純なプロジェクトにはあまりにも多くのフレームワークに巻き込まれてしまうことはしたくありません。
だから私は PHP のデータベース抽象化レイヤー (例: ADOdb、PDO) に興味を持っていましたが、それらが主にコードの記述を短くすること (私の意図した使用法) を意図しているのか、それともさまざまなデータベースのコードを記述できるようにすることを意図しているのかはまだ明らかではありません。より簡単に。私のコードが MySQL でのみ動作することは気にしません。互換性ではなく、わかりやすくするために抽象化したいだけです。
PHP 用に各 DAL をテストする代わりに、経験と上記の単純な使用目的に基づいて、誰かがフィードバックを提供できますか?
お手伝いありがとう。
php - PEARモジュールのインストールを許可しないホストのデータベース抽象化オプション
将来のホストは、VPS/専用アカウントを除いてPEARモジュールを許可しません。趣味のサイトでVPSに年間2000ドルから3000ドルを費やす余裕がないので、そのオプションはありません。
現在のホスト(スタックサーバー、古いハードウェア、パフォーマンスの低下)で問題が発生する前に、データベースの抽象化を追加し、サイトのほとんどをMDB2でローカルに再コーディングしたいと思います。
ネイティブPEARモジュールなしでDB抽象化を実装するためのオプションはありますか?
php - Codeigniter で My_Model を使用して多くのテーブルに挿入する
私は codeigniter で開発されたサイトを持っています。検証なしでデータベースに挿入しました。My_Model (多くの開発者が github からダウンロードした codeigniter のフィールドを検証するために使用するフィールドを検証するための拡張モデル) を使用したいのですが、関数で別のテーブルにさらに挿入する必要がある場合は? どうすればこれを行うことができますか? たとえば、製品がある場合、そのデータをデータベースに挿入しSELECT LAST_INSERT_ID
、そのIDを取得して、そのproduct_idを使用して画像を次のような関数に挿入します。
My_Model には次の関数があります。
問題は、Nation_Model にはフィールドをチェックするための検証の配列があり、Img_Model には次のような別の検証配列があります (これは単なる例です)。
しかし、挿入しようとすると、最初の挿入は問題ありませんが、2 番目の挿入は Img_Model の検証配列を取得しませんが、nation_Model の validate_array を取得します。どうすればこれを解決できますか?