1

PHPとGETパラメータを介してdbテーブル名と列名を渡す可能性を探しています。

次の構造を持つデータ グリッドがあります: table_name1.column1、table_name2.column1、table_name2.column1。

これらのパラメーターが必要なグリッドの検索機能があります。

URL " ?table_name1.column1=22" から $_GET のみを取得していますtable_name1_column1=22

どのように解決しますか?

4

4 に答える 4

0

これは、PHP の文書化された機能です。これは基本的に、PHP がドットを含む変数名を持つことができないためです。

$x.y = 1  // is an invalid variable name

MANUAL GET および POST でドットを _ に変換する

于 2013-08-27T08:42:28.817 に答える
0

php の serialize 関数を使用して、テキスト「table_name1.column1」を URL に渡すことができます。しかし、そのためには、結果を得るためにいくつかのコーディングを行う必要があります。以下に、使用できるコードを示します。

Page1.php

<?php
$test = serialize('table_name1.column1=11::table_name2.column2=22');
?>
<a href='Page2.php?qs=<?php echo $test?>'>test</a>

この $test を使用して、クエリ文字列として渡します。上記の例では、アンカー タグのクリックを渡しています。

Page2.php

次のコードを使用して、クエリ文字列をシリアル化解除し、値を使用します。

<?php

$test2 = unserialize($_GET['qs']);

$ex = explode('::',$test2);

$new_arr = array();
foreach($ex as $val)
{
    $ex2 = explode('=',$val);
    $new_arr[$ex2[0]] = $ex2[1];
}

echo $new_arr['table_name1.column1']; //print 11
echo $new_arr['table_name2.column2']; //print 22


?>

これがあなたを助けることを願っています:)

于 2013-08-27T09:33:33.830 に答える
-1

各パラメータを で区切る必要があります&

そう:?table=table_name1&column=column1

于 2013-08-27T08:24:50.007 に答える