以下を使用して、使用する必要があるフィールドの配列を収集しています。
$reqFlds = array();
$results = mysql_query("aid, fld_name from field
where aid = $acct_id2 and req_flag = 1");
while($result = mysql_fetch_assoc($results))
{
$reqFlds[] = $result;
}
<script language="javascript">
var reqFlds= <?php echo "new Array(". trim(json_encode($reqFlds), '[]').")"; ?>;
</script>
私の「reqFlds」配列は次のように吐き出します:
<script language="javascript">
var reqFlds = new Array(
{"aid":"15","fld_name":"Job Issued"},
{"aid":"18","fld_name":"Job Title"},
{"aid":"20","fld_name":"Banner Details"},
{"aid":"202","fld_name":"Flyer Details"},
{"aid":"2134","fld_name":"Code Not above"},
{"aid":"5862","fld_name":"Quantity"});
</script>
次のような配列データを必要とする関数が与えられました。
var fldToUse = ['15||Job Issued', '18||Job Title', '20||Banner Details'];
上記の形式で吐き出すように、配列 [reqFlds] を書き換えるにはどうすればよいですか。
前もって感謝します。
最近の編集 - 以下は、コードと結果を正確に配置した方法です
<?php
$reqFlds = array();
$results = mysql_query("select id, display_name from field where account_id = $acct_id2 and required_flag = 1");
while($RequireResult = mysql_fetch_assoc($results))
{
$reqFlds[] = $RequireResult;
}
foreach($reqFlds as $reqFlds)
{
$reqFlds = $reqFlds["id"] . "||" . $reqFlds["display_name"];
}
?>
<script language="javascript">
var requiredFieldsPRS = <?php echo "new Array(". trim(json_encode($reqFlds), '[]').")"; ?>;
var holdReqFlds = <?php echo json_encode($reqFlds); ?>;
</script>
このようなコードを foreach をループの外に置いたままにしておくと、ソースを表示したときにこれが 1 つしか取得されません。
<script language="javascript">
var requiredFieldsPRS = new Array("'5862||Quantity'");
var holdReqFlds = "'5862||Quantity'";
</script>
配列に入れると、全体が死ぬ
私はただ疲れているだけだと確信しており、おそらく他の言い訳を思い付くことができますが、要するに、私は自分が間違っていることをしていないということです.