0

私のページには、複数の $_GET 値があります。すなわち

if(isset($_GET["projects"]))
{ .....    }
else if(isset($_GET["research"]))
{ ...... }
else if(isset($_GET["publication"]))
{ ..... }

...10までのelseif

これを短縮できますか?これらの値 {プロジェクト、研究、出版物、..} を変数で取得できますか?

4

6 に答える 6

2

わかりましたので、コメントからあなたが何を望んでいるのかを理解したと思います。どれどれ。

$types = array('projects', 'research', 'publication'); // add as many as you want
$valid = array_intersect_key($_GET, array_flip($types));

if (count($valid) > 1)
    die "More than one category is set, this is invalid.";

if (!$valid)
    die "No category was set, you must choose one.";

foreach ($valid as $type => $value) // just to split this one element array key/value into distinct variables
{
    $value = mysql_real_escape_string($value); // assuming you are using mysql_*
    $sql = "SELECT * FROM table WHERE $type = '$value'";
}

...
于 2014-08-30T06:19:45.150 に答える
0
$projects = $_GET["projects"];

または、から直接使用するだけ$_GETです。これは、すべての値を持つ連想配列です。

foreach ($_GET as $key => $value){
    if(!empty($value)){
        $type = $key; //if you expect a single item
        $type[] = $key; //if you expect multiple items
    }
}
于 2014-08-30T05:43:25.333 に答える
0

または$_GETのような単一の値を期待していると思います。その場合:?projects=foo?research=bar

$type  = key($_GET);
$value = $_GET[$type];

echo "$type = $value";
于 2014-08-30T05:59:06.747 に答える
0

はい、これらを変数に割り当てることができます-

if(isset($_GET["projects"]))
{
    $value = $_GET['projects'];
}
else if(isset($_GET["research"]))
{
    $value = $_GET['research'];
}
else if(isset($_GET["publication"]))
{
    $value = $_GET['publication'];
}
echo $value;
于 2014-08-30T05:56:11.347 に答える
0

フォームの値が回答/入力されているかどうかを確認することが目的の場合は、使用できます

if(isset($_GET['project'] || ... || isset($_GET['publication'])
{
 // Insert Code Here
}
else
{
 // Insert Code Here
}

上記のコードは、フィールドが入力のタイプである場合、フィールドがテキストフィールドまたはテキストエリアではないと想定しています。

if(isset($_GET['project']))

使用する

if($_GET['project'] != "")
于 2014-08-30T06:09:20.167 に答える
0

あなたの言っていることは完全には理解できませんでしたが、すべて$_GETが真実であるのに、あなたは何かを実行しようとしているように見えます。その場合は、以下のコードを使用してください

if(isset($_GET["projects"]) && isset($_GET["research"]) && isset($_GET["publication"]) )
{ .....    }

これがお役に立てば幸いです

于 2014-08-30T06:10:19.973 に答える