作成中のアプリケーションがあり、ある時点で行き詰まっています。
複数の値を持つ変数を渡そうとしています。したがって、私のURLは次のようになります。
localhost/report.php?variable=value1, value2, value3
問題は、どうすればよいかわからないことです。変数は、データベースからデータを取得するために使用されます。 PHPを使用し、JavaScriptを使用していません。
どんな助けでも素晴らしいです!
編集:
これは、変数が選択されているページにあるHTMLです。
<select name="types" size="19" multiple>
<option value="all" selected>All Types</option>
<option value="book" selected>Books</option>
<option value="cd" selected>CD</option>
</select>
したがって、ユーザーはBooksとCDを選択でき、これら2つの値を「types」変数に渡す必要があります。
https://stackoverflow.com/a/2407401/1265817 で述べたように、この方法を使用できます。
PHP $ _GET ['select2']をオプションの配列として扱う場合は、次のように角括弧をselect要素の名前に追加するだけです:<select name="select2[]" multiple …
次に、あなたのPHPスクリプトで配列にアクセスできます
<?php
header("Content-Type: text/plain");
foreach ($_GET['select2'] as $selectedOption)
echo $selectedOption."\n";
使用する &
localhost/report.php?variable=value1&val2=value2&val3=value3
それはあなたが求めているものですか?
PHPを呼び出して http_build_query()
を呼び出し、値をインデックス付き配列として渡す簡単な方法があります。次のようにします。
$value_array = array('types' => array('book', 'cd'));
$query = http_build_query($value_array);
次に、$query
を使用してURLを生成します。
localhost/report.php?variable[]=value1&variable[]=value2
は、phpで配列を提供します
URLは正しいと思います
localhost/report.php?variable=value1,value2,value3
次に、PHPを使用して、report.phpページのすべての値を取得します
$variable = explode(",", $_GET["variable"]);
// Output
$variable[0] = "value1";
$variable[1] = "value2";
$variable[2] = "value3";
次のように serialize を使用できます。
echo '<a href="index.php?var='.serialize($array).'"> Link </a>';
そして、 nserialize を使用してデータを取得します:
$array= unserialize($_GET['var']);
配列型の保存可能な(文字列)バージョンを提供するシリアル化関数。unserialize関数で復元できます。