簡體   English   中英

如何從PHP獲取數組並使用數組中的值?

[英]How do I get an array from PHP and use the values in the array?

我在index.html中有一個下拉菜單和javascript。 為了清楚起見,我刪除了大多數選項(超過20種)。 它將下拉菜單選擇發送到engine.php

index.html

<script>
function refreshpage(e)
{   
    var e = document.getElementById("sr");
    var snk = e.options[e.selectedIndex].value;
    window.location.href = "engine.php?selectedOption=" + snk;
}
</script>

<h4>Select your option</h4>
    <form action="" id="optionform" onsubmit="return false;">
        <select class="item_options" id="sr" name='sr' onchange="refreshpage(this);">
             <option value="None">Select option</option>
             <option value="Option1">Option 1</option>
             <option value="Option1">Option 2</option>
             <option value="Option1">Option 3</option>
        </select>
    </form>

當您選擇一個選項時,它將選項發送到engine.php

engine.php

<?php
$option1 = 5;
$option2 = 10;
$final = array($option1, $option2);
if($_GET["selectedOption"] == 'Option1')
{
    $option1 = 20;
    $option2 = 20;

}
?>

如何將$final發送回index.html並使用javascript使用$final數組中的值( $option1$option2 )。 我基本上想刷新index.html並使用新的更新值( $option1 = 20; $option2 = 20;

您可以按照@Hackerman的建議使用ajax,這很可能是我會使用的方法。

或者,您可以將重定向添加到engine.php頁面的末尾,然后將用戶送回索引頁面。

$newURL = "index.php?values=$newValues";
header('Location: '.$newURL);

要采用這種方法,索引頁面將需要在加載時處理values參數。

如果您不在乎URL是什么,則可以在engine.php中 require index.html

<?php
$option1 = 5;
$option2 = 10;
$final = array($option1, $option2);
if($_GET["selectedOption"] == 'Option1')
{
    $option1 = 20;
    $option2 = 20;

}
require('index.html')
?>

index.html中有一些PHP的東西:

<script>
function refreshpage(e)
{   
    var e = document.getElementById("sr");
    var snk = e.options[e.selectedIndex].value;
    window.location.href = "engine.php?selectedOption=" + snk;
}
</script>

<?php if ( isset($final) { print_r($final); } ?>

<h4>Select your option</h4>
    <form action="" id="optionform" onsubmit="return false;">
        <select class="item_options" id="sr" name='sr' onchange="refreshpage(this);">
             <option value="None">Select option</option>
             <option value="Option1">Option 1</option>
             <option value="Option1">Option 2</option>
             <option value="Option1">Option 3</option>
        </select>
    </form>

您可以在任何地方使用<?php ?>標記,只需記住這部分將在服務器上處理,並且僅將HTML和JavaScript發送到瀏覽器。

您可以使用ajax來回發送數據。 使用jquery ,您可以執行以下操作:

var final;
$.ajax({
    url: 'engine.php',
    data: { selectedOption: $('#optionform').find(":selected").text() },
    dataType: 'json',
    success: function(data) {
        final = data;
    }
});

然后在engine.phpecho json_encode($final);

這只能使用AJAX來完成。 將AJAX發送到somepage.php,在其中以$ final返回json。 之后做點什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM