如何在工程中使用多if条件

How to use multiple if condition in project

本文关键字:if 条件 程中使      更新时间:2023-09-26

谢谢你的帮助。我有一个问题,我不能解决这个简单的问题。请帮帮我。

我的代码是-

<?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";
}