如果条件没有在PHP中正确检查?

时间:2017-09-13 15:11:16

标签: php mysql

我正在处理提交系统。我有一个下拉列表,当用户想要编辑部分下拉需要匹配选择选项到下拉列表中可见时,基于保存在数据库中的值。我为此选项编写了一些代码,但它无法正常工作。这个代码我用于其他项目,它运作良好。错误也没有来,我已经检查语法没问题。

enter image description here

                 <?php  

                    $journalid = $_GET['jiid'];
                    $sqlold = "SELECT `jtype`, `jtitle` FROM `journal` WHERE jid=? LIMIT 1";
                    $db->query($sqlold);
                    $db->bind(1, $journalid);
                    $db->execute();
                    $resjid = $db->resultset();
                    foreach($resjid  as $resjtype){
                          $resjournaltype = $resjtype['jtype'];
                    }                         
                    echo 'Res Ournal Type: '.$resjournaltype;
                    $db->query("SELECT article_name, article_value FROM article_type");
                    $db->execute();
                    $resultrow = $db->resultset();  
                    foreach($resultrow as $vals){
                    if($resjournaltype == $vals['article_value'] ){
                     echo "yes";
                    }

                            ?>
                                    <option <?php //if ( $jtype == $res['article_value'] )  echo 'selected = "selected"'; ?> value="<?php echo $res["article_value"];?>"><?php echo $res['article_name']; ?> </option>
                            <?php
                            else {?>
                            <option <?php //if ( $jtype == $res['article_value'] )  echo 'selected = "selected"'; ?> value="<?php echo $res["article_value"];?>"><?php echo $res['article_name']; ?> </option>                                  
                            <?php
                                    } 

                                }*/
                                else{   

                            ?>
                            <option <?php //if ( $resjid[0]['jtype'] == $vals['article_value'] )  echo 'selected = "selected"'; ?> value="<?php echo $vals["article_value"];?>"><?php echo $vals['article_name']; ?> </option>
                          <?php
                                    }
                                }
                        ?>                  

1 个答案:

答案 0 :(得分:-1)

我正在互联网的每个地方寻找解决方案,但我忘记了一些语法问题。这些问题没有出错。如果在这里我正在检查这里的每个循环中的条件是否是我犯了一个错误。我的实际代码就是这个。问题是我正在检查两个字符串,而不是数字。在PHP中,字符串值与strcmp()函数进行比较。

 if($resjournaltype == $vals['article_value'] )
 {  echo "yes"; }

我改变了这样的条件,最后我的问题已经解决了。

if(strcmp($resjournaltype, $vals['article_value']) == true){
    echo $resjournaltype .'-'. $vals['article_value'] ; }