注意:未定义的索引:

时间:2014-12-11 12:03:57

标签: php mysql select distinct

我的代码有问题。 如果我使用select * from $table这一切都很好但是 现在用select distinct它显示我

Notice: Undefined index: L_code in /home/lab_users/web_tue25/web_pages/2014-12-09/stats03-04e.php on line 70

并且它对所有变量A / A等显示相同。

任何人都可以帮我找到我的错误???

谢谢

<?php 


include_once "dbconnect.php";

$sql = "SELECT DISTINCT akexam = '2003-04.e' FROM $table ";
$result = $dblink->query($sql);

if ($result->num_rows !== 0)
    {
        echo '<table border="1" style="width:100%; border: 1px solid black; border-collapse:collapse; text-align: center;">
        <tr bgcolor= #787878>

        <th>A/A</th>
        <th>ak.εξαμ.</th>
        <th>L_code</th>
        <th>τ.ε</th>
        <th>ck</th>
        <th>rb</th>
        <th>L_descr</th>
        <th>ΔΗΛ</th>
        <th>ΣΥΜ</th>
        <th>a</th>
        <th>b</th>
        <th>c</th>
        <th>d</th>
        <th>e</th>
        <th>f</th>
        <th>ΣΥΝ</th>
        <th>ok</th>
        <th>ok%</th>

    </tr>';

while($row = $result->fetch_assoc()) 
{
echo '<tr bgcolor= purple>';
    if(strstr($row["L_code"],"241"))
    {           
        echo "<td style= text-align:left>".$row["A/A"]."</td>";
        echo "<td style= text-align:left>".$row["akexam"]."</td>";
        echo "<td style= text-align:left>".$row["L_code"]."</td>";
        echo "<td>".$row["te"]."</td>";
        echo "<td> <input type='checkbox' name= 'ch' value='1'></td>";
        echo "<td> <input type='radio' name='labs' value='1'></td>";
        echo "<td>".$row["L_descr"]."</td>";
        echo "<td style= text-align:right>".$row["dhl"]."</td>";
        echo "<td style= text-align:right>".$row["sym"]."</td>";
        echo "<td style= text-align:right>".$row["a"]."</td>";
        echo "<td style= text-align:right>".$row["b"]."</td>";
        echo "<td style= color:blue>".$row["c"]."</td>";
        echo "<td style= color:blue>".$row["d"]."</td>";
        echo "<td style= color:blue>".$row["e"]."</td>";
        echo "<td style= color:blue>".$row["f"]."</td>";
        echo "<td style= text-align:right>".$row["syn"]."</td>";
        echo "<td style= text-align:right>".$row["ok"]."</td>";
        echo "<td style= text-align:right>".$row["ok%"].'%';"</td>";
    }
    else
    {   
        echo '<tr bgcolor= baby blue>';

        echo "<td style= text-align:left>".$row["A/A"]."</td>";
        echo "<td style= text-align:left>".$row["akexam"]."</td>";
        echo "<td style= text-align:left>".$row["L_code"]."</td>";
        echo "<td>".$row["te"]."</td>";
        echo "<td> <input type='checkbox' name= 'ch' value='1'></td>";
        echo "<td> <input type='radio' name='theories' value='1'></td>";
        echo "<td>".$row["L_descr"]."</td>";
        echo "<td style= text-align:right>".$row["dhl"]."</td>";
        echo "<td style= text-align:right>".$row["sym"]."</td>";
        echo "<td style= text-align:right>".$row["a"]."</td>";
        echo "<td style= text-align:right>".$row["b"]."</td>";
        echo "<td style= color:blue>".$row["c"]."</td>";
        echo "<td style= color:blue>".$row["d"]."</td>";
        echo "<td style= color:blue>".$row["e"]."</td>";
        echo "<td style= color:blue>".$row["f"]."</td>";
        echo "<td style= text-align:right>".$row["syn"]."</td>";
        echo "<td style= text-align:right>".$row["ok"]."</td>";
        echo "<td style= text-align:right>".$row["ok%"].'%';"</td>";
    }


echo '</tr>';
}

echo '</table>';

} 
else 
{
echo "0 results";
}

2 个答案:

答案 0 :(得分:0)

Yuo必须更改查询。 如果您select distinct akexam,您将在表格中找到不同的akexam值列表。您的行只是$row["akexam"]

如果您select distinct *,您将选择表格中的所有不同行。 它看起来像普通的选择,但它会丢弃相同的行(如果表中有一个主键,所有行都不同,我警告你。)

因此,请解释为什么要选择不同的,我可以为您提供更精确的解决方案。

答案 1 :(得分:0)

您必须单独选择每个列。

SELECT DISTINCT `akexam`, `L_code`, .... /*Fetch other columns*/
FROM   `table`
WHERE akexam = '2003-04.e'