Php 显示中的文本注入

Php 显示中的文本注入,php,sql-server,web-applications,web,Php,Sql Server,Web Applications,Web,好的,我得到了一个部件列表,如下所示: PartID CatID PartName 0 1 Part 1 1 2 Part 2 2 1 Part 3 3 3 Part 4 4 2 Part 5 5 2 Part 6 我用P

好的,我得到了一个部件列表,如下所示:

PartID    CatID    PartName
0             1           Part 1
1             2           Part 2
2             1           Part 3
3             3           Part 4
4             2           Part 5
5             2           Part 6
我用PHP来拉。如何在CatID中每次更改时插入文本的模糊,而不必运行多个循环

因此,在第页上,我可以将其显示为:

"BLURB OF TEXT"
Part 1
Part 3
"BLURB OF TEXT"
Part 2
Part 5
Part 6
"BLURB OF TEXT"
Part 4
这是到目前为止的代码。我想给=$row[“CatID”]赋值,然后检查变量==CatID,但它总是==

while($row = sqlsrv_fetch_array($qry, SQLSRV_FETCH_ASSOC)) {
    echo $row["PartName"]
}

将ID放入循环外部的变量中。这样您就可以检查上一个ID和当前ID。如果当前文本与上一个不同,则回显一些文本:

$LastID = 0;
while($row = sqlsrv_fetch_array($qry, SQLSRV_FETCH_ASSOC)) {
    echo $row["PartName"];
    if($row["CatID"] > $LastID)
    {
        // ID changed!
        echo "Insert Text!";
    }
    $LastID = $row["CatID"];
}

当然,这是假设数据在
CatID
上按升序排序,以显示所需的结果。

将ID放入循环外的变量中。这样您就可以检查上一个ID和当前ID。如果当前文本与上一个不同,则回显一些文本:

$LastID = 0;
while($row = sqlsrv_fetch_array($qry, SQLSRV_FETCH_ASSOC)) {
    echo $row["PartName"];
    if($row["CatID"] > $LastID)
    {
        // ID changed!
        echo "Insert Text!";
    }
    $LastID = $row["CatID"];
}

当然,这是假设数据在
CatID
上按升序排序,正如您希望显示的结果一样。

我的逻辑颠倒了。。。。grr,我想在我请求帮助后我就知道了

                if($cCat == $row["catID"]){
                    //echo 'nothing here';
                }else{
                    echo '<a name="' . $row["PartCategory"] . '"></a>';
                    echo $this->GetPartCategories();
                    $cCat = $row["catID"];
                }
if($cCat==$row[“catID”]){
//呼应“这里什么都没有”;
}否则{
回声';
echo$this->GetPartCategories();
$cCat=$row[“catID”];
}
在while语句上方是$cCat=''

我在努力

                if(!$cCat == $row["catID"]){
                    echo '<a name="' . $row["PartCategory"] . '"></a>';
                    echo $this->GetPartCategories();
                    $cCat = $row["catID"];
                }
if(!$cCat==$row[“catID”]){
回声';
echo$this->GetPartCategories();
$cCat=$row[“catID”];
}
由于某种原因,它没有起作用


p、 我的查询中已经有一个order by。它按catID、partSortOrder、partName排序。我的逻辑颠倒了。。。。grr,我想在我请求帮助后我就知道了

                if($cCat == $row["catID"]){
                    //echo 'nothing here';
                }else{
                    echo '<a name="' . $row["PartCategory"] . '"></a>';
                    echo $this->GetPartCategories();
                    $cCat = $row["catID"];
                }
if($cCat==$row[“catID”]){
//呼应“这里什么都没有”;
}否则{
回声';
echo$this->GetPartCategories();
$cCat=$row[“catID”];
}
在while语句上方是$cCat=''

我在努力

                if(!$cCat == $row["catID"]){
                    echo '<a name="' . $row["PartCategory"] . '"></a>';
                    echo $this->GetPartCategories();
                    $cCat = $row["catID"];
                }
if(!$cCat==$row[“catID”]){
回声';
echo$this->GetPartCategories();
$cCat=$row[“catID”];
}
由于某种原因,它没有起作用


p、 我的查询中已经有一个order by。它是按catID、partSortOrder、partName下单的

对不起,请您重新说明您的问题好吗?我不知道你想要什么。(顺便说一句,你没有投反对票。)你的SQL查询是什么?您需要一个
订购人
。您是否也可以添加不起作用的代码版本?对不起,请您重新陈述您的问题?我不知道你想要什么。(顺便说一句,你没有投反对票。)你的SQL查询是什么?你需要一个
的订单。你能不能也添加你的代码版本,但它不起作用?别担心,这是我们中最好的。幸好你自己发现了。谢谢你的接受+投票!顺便说一下,如果您的if不包含任何内容,您可以将其更改为
=
并将
else
代码放入其中。删除不必要的代码。别担心,这会发生在我们最好的人身上。幸好你自己发现了。谢谢你的接受+投票!顺便说一下,如果您的if不包含任何内容,您可以将其更改为
=
并将
else
代码放入其中。删除不必要的代码。