如何在工程中使用多if条件
How to use multiple if condition in project
谢谢你的帮助。我有一个问题,我不能解决这个简单的问题。请帮帮我。
我的代码是-
<?php
$sel="select * from demo1 where paper_type='Quantitative'";
$exe=mysql_query($sel);
while($rt=mysql_fetch_array($exe))
{
$array_val[]=$rt['condition'];
}
?>
<script>
var val1 = "<?php echo($array_val[0]); ?>";
var val2 = "<?php echo($array_val[1]); ?>";
var val3 = "<?php echo($array_val[2]); ?>";
var val4 = "<?php echo($array_val[3]); ?>";
var val5 = "<?php echo($array_val[5]); ?>";
if(val1 == "a" )
{
document.getElementById("imgClick1").src = "images/a.jpg";
document.getElementById('num1').style.color = "#000";
}
else if(val1 == "b")
{ document.getElementById("imgClick1").src = "images/b.jpg";
document.getElementById('num1').style.color = "#fff";
}
if(val2 == "a" )
{
document.getElementById("imgClick2").src = "images/a.jpg";
document.getElementById('num2').style.color = "#000";
}
else if(val2 == "b")
{
document.getElementById("imgClick2").src = "images/b.jpg";
document.getElementById('num2').style.color = "#fff";
}
if(val3 == "a" )
{
document.getElementById("imgClick3").src = "images/a.jpg";
document.getElementById('num3').style.color = "#000";
}
else if(val3 == "b")
{
document.getElementById("imgClick3").src = "images/b.jpg";
document.getElementById('num3').style.color = "#fff";
}
</script>
使用php我从MySQL得到值php数组'$array_val[]',并将值放入javascript变量,但当我试图通过使用if条件来检查它时,它只是在第一个if条件上工作。
请帮帮我,我怎样才能使用其他条件呢?
在这种情况下我建议使用JSON。
检查以下使用JSON实现的解决方案。
var json=JSON.parse('<?php echo json_encode($array_val)?>');
//process your json array here
for(key in json){ //for each elements in json array
//default image and color
var image_src = "images/default.jpg";
var color = "#aaa";
switch(json[key]){
case "a":{
//code for a
image_src = "images/a.jpg";
color = "#000";
break;
}
case "b":{
//code for b
image_src = "images/b.jpg";
color = "#fff";
break;
}
}
document.getElementById("imgClick"+(key+1)).src=image_src; // it will generate imgClick1, imgClick2 selectors and so on.. for each element of json
document.getElementById("num"+(key+1)).style.color=color; // it will generate num1, num2 selectors and so on.. for each element of json
}
编辑:原代码的解决方案
在echo之前测试$array_val[index]
,以便仅当其值被定义时才会echo
。
在这种情况下,它将使valN
变量的值为""
空字符串,因此它将不匹配"a"
或"b"
。(如果value未定义,您可能需要在else case中指定一些默认情况)
var val1 = "<?php if(isset($array_val[0]) echo $array_val[0] ?>"; //you might add here else echo "a"; to specify some default value.
var val2 = "<?php if(isset($array_val[1]) echo $array_val[1] ?>";
var val3 = "<?php if(isset($array_val[2]) echo $array_val[2] ?>";
var val4 = "<?php if(isset($array_val[3]) echo $array_val[3] ?>";
var val5 = "<?php if(isset($array_val[4]) echo $array_val[4] ?>";
if(val1 == "a" )
{
document.getElementById("imgClick1").src = "images/a.jpg";
document.getElementById('num1').style.color = "#000";
}
else if(val1 == "b")
{ document.getElementById("imgClick1").src = "images/b.jpg";
document.getElementById('num1').style.color = "#fff";
}
if(val2 == "a" )
{
document.getElementById("imgClick2").src = "images/a.jpg";
document.getElementById('num2').style.color = "#000";
}
else if(val2 == "b")
{
document.getElementById("imgClick2").src = "images/b.jpg";
document.getElementById('num2').style.color = "#fff";
}
if(val3 == "a" )
{
document.getElementById("imgClick3").src = "images/a.jpg";
document.getElementById('num3').style.color = "#000";
}
else if(val3 == "b")
{
document.getElementById("imgClick3").src = "images/b.jpg";
document.getElementById('num3').style.color = "#fff";
}
相关文章:
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 带有 AJAX 响应或 AJAX 响应的 IF 条件.响应.Text 不起作用
- if条件中的递归混淆,JS如何解释“;真/假”;条件
- 如何在ejs模板中使用if条件
- for循环与if条件
- 中继器控件内的 IF 条件
- 比较IF条件下的两个javascript数值
- 如何在 javascript 中使用 document.getelementbyname 中的 if 条件
- 是否可以将鼠标悬停(evt)与if条件结合使用
- 当if条件被添加到循环中时,Javascript函数将停止工作
- 我的if条件的执行
- 为什么它没有进入 if 条件
- else-if条件在js渲染模板中
- 在模态中使用 e.target 的复杂 if 条件.js
- 达到IF条件后停止功能
- 如何使用流星模板上的if条件
- javascript setinterval使用if条件显示图像
- Check IF条件返回false,但IF中的语句仍然可以在JavaScript中工作
- if条件如何在javascript中计算其值
- for循环中嵌套if条件的setTimeout