gpt4 book ai didi

Javascript 根据 pray_name 获取每个值

转载 作者:行者123 更新时间:2023-11-30 21:00:48 26 4
gpt4 key购买 nike

我的表上有这样的数据:

pray_name | time_before_iqamah
Subuh | 1
Dhuhur | 10
Ashar | 10
Maghrib | 10
Isya | 10

然后我将它生成为 PHP jSon

$qPray = mysqli_query($con, "SELECT * FROM tb_prays WHERE active = 'Y'");
while($dPray = mysqli_fetch_array($qPray))
{
$timeBeforeIqamah[] = $dPray['time_before_iqamah'];
}

jSon 结果

{"timeBeforeIqamah":["1","10","10","10","10"]}

现在我想根据 JS 上的祈祷名称获取 timeBeforeIqamah

var list = ["Imsak", "Subuh", "Terbit", "Dhuhur", "Ashar", "Maghrib", "Isya"];
var times = prayTimes.getTimes(date, geo, timezone);

for(var i in list)
{
if(jsonStr.currentTime == times[list[i].toLowerCase()] + ":00")
{
if(list[i] == "Imsak" || list[i] == "Terbit")
{}
else
{
alert(jsonStr.timeBeforeIqamah[i]);
}
}
}

假设我们在 Subuh 时间意味着我正在尝试 alert(jsonStr.timeBeforeIqamah[i]); 应该获取值:1,但我得到的是:10

我想要的是根据 JS 上的祈祷名称获取 time_before_iqamah

怎么做?

最佳答案

问题是您表中的数据与list 中的数据顺序不同:

Index | pray_name | time_before_iqamah
0 | Subuh | 1
1 | Dhuhur | 10
2 | Ashar | 10
3 | Maghrib | 10
4 | Isya | 10

比较一下:

var list = ["Imsak", "Subuh", "Terbit", "Dhuhur", "Ashar", "Maghrib", "Isya"];

Index | Value
0 | "Imsak"
1 | "Subuh"
2 | "Terbit"
3 | "Dhuhur"
4 | "Ashar"
5 | "Maghrib"
6 | "Isya"

在第一种情况下,subuh 的索引为 0,在第二种情况下,它的索引为 1,因此无法匹配那些.

要解决这个问题,您可以更改 php,以便传递与值匹配的名称:

$qPray = mysqli_query($con, "SELECT * FROM tb_prays WHERE active = 'Y'");
while($dPray = mysqli_fetch_array($qPray))
{
$timeBeforeIqamah[$dPray['pray_name']] = $dPray['time_before_iqamah'];
}

然后将您的 javascript 更改为:

 if(list[i] == "Imsak" || list[i] == "Terbit")
{}
else
{
alert(jsonStr.timeBeforeIqamah[list[i]]);
}

关于Javascript 根据 pray_name 获取每个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47149117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com