は、メモリデータベースで使用して少しスニペットと例を更新しました:) PS:私はブール値として入力を確認するため、XSS保護この例では全く必要ありません値。逆の順序で結果を確認するには、
<?php
/* XSS-protection. */
$_GET = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING);
$array = array(
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
);
function createTable($db) {
$db->exec("CREATE TABLE IF NOT EXISTS tags (id INTEGER PRIMARY KEY, tag TEXT NOT NULL UNIQUE)");
}
function insertData($db, $array) {
$db->beginTransaction();
foreach($array as $elm) {
try {
$stmt = $db->prepare("INSERT INTO tags (tag) VALUES (:tag)");
$stmt->execute(array(
":tag" => $elm
));
} catch(PDOException $e) {
/*** roll back the transaction if we fail ***/
$db->rollback();
/*** echo the sql statement and error message ***/
echo $sql . '<br />' . $e->getMessage();
}
}
$db->commit();
}
$db = new PDO('sqlite::memory:');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
//
createTable($db);
insertData($db, $array);
$order = "ASC";
if (strtoupper($_GET['order']) == "DESC") {
$order = "DESC";
}
$stmt = $db->prepare("SELECT * FROM tags ORDER BY tag $order");
$stmt->execute();
$data = array();
while($row = $stmt->fetch()) {
$data[] = array($row['tag']);
}
echo json_encode($data);
order?desc
はあなたが(ちょうど聞かない場合) しようとイムは達成かを理解ホープを指定します。 に関するご意見、考え方、または の例を参考にしてください。
まず、PHP5を使用していると言っている質問がいくつかあります。データ(RDBMS)をどのように取得しますか?そうでない場合、PHP5はSQLite enabled by defaultです。私はあなたのために少なくともRDBMS(SQLite/etc)を使用する必要があると思います。
learn SQLの場合、PHPでソートする必要はありません。私はこれをPDO tutorialと思っていますが、安全にSQLを使用する方法を教えてくれます。 SQLはSQLインジェクションに対して脆弱ですが、PDOの準備済みステートメントのおかげでそれ以上心配する必要はありません。
私は の多次元配列から引き出された一連の結果を持っています。 現在、配列キーは製品の の価格ですが、商品には の商品がすべて含まれている別の配列 が含まれています。
ORDER BYをご注文ください。私はクライアント側の並べ替えを行うdatatableを使用します。また、サーバー(PHP)で作業することもできます。例えば、YUI2's datatableを見ることができます。
ご返信ありがとうございます。はい、私はデータベースを使用して良いと思ったが、私はXMLソースからリアルタイムのデータを取得しています。 PDOのおかげでありがとう、それは興味深いね!結果がページされるので、私がYUI2データテーブルを使用できるかどうかは分かりません。あなたの入力のためにたくさんありがとう:) – fl3x7
@ fl3x7いいえ私はあなたがすべての例を見ている必要があります(それは本当に強力です)YUI2 datatableを使用することができると思います。ページ番号のついた例=> http://developer.yahoo.com/yui/examples/datatable/dt_dynamicdata.htmlもあります。多くの人が知らない何かを指摘したいと思います。インメモリデータベースのようにSQLiteデータベースを使うことができます;)私はすぐに少しの紹介のために私の答えを更新します。 – Alfred
@ fl3x7 'new PDO( 'sqlite :: memory:');' – Alfred