我在IF ELSE中遇到错误

时间:2015-09-21 11:35:22

标签: php mysql if-statement

我是PHP新手。我在IF ELSE中遇到问题。我的IF ELSE声明不起作用。我有两个SQL查询。在开始时,我有一个简单的查询,它针对client_id获取opinion_id并将thi squery的结果存储在变量$opinion_id

之后我有了我的sql查询,该查询从{2}获取opinion_id所有client_id,这是从上一个查询中提取的。

如果针对opinion_id client_id opinion_id` with reference to my 1st query than it only print the record against that没有client_id,我的第3个查询是针对该问题的。

在我的IF ELSE中我遇到问题,如果我的$opinion = array(); while($row1 = mysql_fetch_assoc($result1)) { $opinion[]= $row1['opinion']; $action[]= $row1['atitle']; $long_term[]= $row1['ltitle']; $outlook[]= $row1['otitle']; $rating_type[]= $row1['ttitle']; $short_term[]= $row1['stitle']; } 为空,它总是执行我的ELSE部分。

我剩下的PHP代码是

<?php
include ("connection.php");
include ("sqlquery.php");
    ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
table {
    border-collapse: collapse;
}

table, td, th {
    border: 1px solid black;
}
</style>
<title>Untitled Document</title>
</head>

<body>
<div style="margin-top:auto; width:auto;font-family:'Times New Roman', Times, serif; text-align:left; font-size:12px; text-align:center">
<table width="657">
        <tr>
            <td width="225"> <strong>Opinion</strong></td>
            <td width="62"> <strong>Action</strong></td>
            <td colspan="4"><strong>Ratings</strong></td>
            <td width="54"><strong>Outlook</strong></td>
            <td width="67"><strong>Rating Type</strong></td>
        </tr>
        <tr>
          <td width="225">&nbsp;</td>
          <td width="62">&nbsp;</td>
          <td colspan="2"><b>Long Term</b></td>
          <td colspan="2"><b>Short Term</b></td>
          <td width="54">&nbsp;</td>
          <td width="67">&nbsp;</td>
        </tr>
        <tr>
          <td width="225">&nbsp;</td>
          <td width="62">&nbsp;</td>
          <td width="52"><b>Current</b></td>
          <td width="45"><b>Previous</b></td>
          <td width="49"><b>Current</b></td>
          <td width="51"><b>Previous</b></td>
          <td width="54">&nbsp;</td>
          <td width="67">&nbsp;</td>
        </tr>
        <?php
        for ($i=0; $i<count($opinion); $i++) {
    //if ($opinion[$i] == "")continue;
        ?>


    <tr>
           <td><?php echo $opinion[$i]?></td>
          <td><?php echo $action[$i] ?></td>
          <td><?php echo $long_term[$i] ?></td>
          <td><?php //echo $p_long_term[$i]?></td>
          <td><?php echo $short_term[$i] ?></td>
          <td><?php //echo $p_short_term[$i] ?></td>
          <td><?php echo $outlook[$i] ?></td>
          <td><?php echo $rating_type[$i] ?></td>
        </tr>

        <?php
        }
?>
 </table>
 <tr>
          <td width="225"><?php // echo $liaison_one_chunks[0]?></td>
          <td width="62"><?php //echo $liaison_one_chunks[1]?></td>
          <td width="52"><b><?php //echo $liaison_one_chunks[2]?></b></td>
          <td width="45"><b><?php //echo $liaison_one_chunks[3]?></b></td>
          <td width="49"><b><?php //echo $liaison_one_chunks[4]?></b></td>

        </tr>
 <table>

 </table>
        </div>
</body>
</html>

Html代码

SELECT * FROM SYS.ALL_QUEUE_TABLES

2 个答案:

答案 0 :(得分:0)

在你写之前:

if($opinion_id == NULL){
    $query = $q_opinion1;
    }
    else
    { 
        $query = $q_opinion;
    }
  $result1 = mysql_query($query) or die;

您必须从查询中获得返回值,否则才能在$opinion_id中使用该值。例如,你是否试图回应$opinion_id,看看你得到了什么?

类似的东西:

$opinion_id = $returned_value;
if($opinion_id == NULL){
    $query = $q_opinion1;
    }
    else
    { 
        $query = $q_opinion;
    }
  $result1 = mysql_query($query) or die;

答案 1 :(得分:0)

我忘记在PHP中执行我的查询。我刚刚通过执行查询解决了我的问题。

    $opinion_id = "SELECT `client_id` FROM `pacra_client_opinion_relations` WHERE `opinion_id` = 170";
$result = mysql_query($opinion_id) or die;
$row = mysql_fetch_assoc($result);
$client_id = $row['client_id'];