Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未定义索引:排序_Php - Fatal编程技术网

Php 未定义索引:排序

Php 未定义索引:排序,php,Php,我正在尝试排序,但这表示排序未定义: 注意:未定义的索引:在第23行的C:\xampp\htdocs\index.php中排序 注意:未定义的索引:在第27行的C:\xampp\htdocs\index.php中排序 注意:未定义的索引:在第31行的C:\xampp\htdocs\index.php中排序 注意:未定义的索引:在第35行的C:\xampp\htdocs\index.php中排序 有人能帮忙吗 <tbody>

我正在尝试排序,但这表示排序未定义:

注意:未定义的索引:在第23行的C:\xampp\htdocs\index.php中排序

注意:未定义的索引:在第27行的C:\xampp\htdocs\index.php中排序

注意:未定义的索引:在第31行的C:\xampp\htdocs\index.php中排序

注意:未定义的索引:在第35行的C:\xampp\htdocs\index.php中排序

有人能帮忙吗

            <tbody>
                    <?php
                            $sortby = isset($_GET['sort']) ? $_GET['sort'] : 'id';
                            if ($_GET['sort'] == 'id')
                            {
                                $sql .= " ORDER BY id";
                            }
                            elseif ($_GET['sort'] == 'nome')
                            {
                                $sql .= " ORDER BY nome";
                            }
                            elseif ($_GET['sort'] == 'idade')
                            {
                                $sql .= " ORDER BY idade";
                            }
                            elseif($_GET['sort'] == 'peso')
                            {
                                $sql .= " ORDER BY peso";
                            }   
                                $serverName = "asdaf-DEMO"; 
                                $options = array(  "UID" => "sa",  "PWD" => "fasdasd",  "Database" => "demo");
                                $conn = sqlsrv_connect($serverName, $options);
                                    if( $conn ) {
                                    $sql="SELECT * FROM cliente";
                                    $aResult=sqlsrv_query($conn, $sql);
                                    while($rows = sqlsrv_fetch_array($aResult))
                                    { 
                                    $id = $rows['id'];
                                    $nome = $rows['nome'];
                                    $idade = $rows['idade'];
                                    $peso = $rows['peso'];


                    ?>

if($sortBy


出现此错误的原因是您只有一个isset检查。这很好,但在代码中,您稍后会返回使用
$\u GET['sort']
,而不检查它是否已设置。

您使用
$sortby
变量填充
$\u GET['sort']
在if条件中。在
if/else
条件之后另外覆盖
$sql

<tbody>
    <?php
            $sortby = isset($_GET['sort']) ? $_GET['sort'] : 'id';
            $sortOrder = isset($_GET['order']) ? $_GET['order'] : 'ASC';
            $orderBy = '';
            if ($sortby== 'id')
            {
                $orderBy .= " ORDER BY id";
            }
            elseif ($sortby== 'nome')
            {
                $orderBy .= " ORDER BY nome";
            }
            elseif ($sortby== 'idade')
            {
                $orderBy .= " ORDER BY idade";
            }
            elseif($sortby== 'peso')
            {
                $orderBy .= " ORDER BY peso";
            }   
                $serverName = "asdaf-DEMO"; 
                $options = array(  "UID" => "sa",  "PWD" => "fasdasd",  "Database" => "demo");
                $conn = sqlsrv_connect($serverName, $options);
                    if( $conn ) {
                    $sql="SELECT * FROM cliente" . $orderBy . ' ' . $sortOrder;
                    $aResult=sqlsrv_query($conn, $sql);
                    while($rows = sqlsrv_fetch_array($aResult))
                    { 
                    $id = $rows['id'];
                    $nome = $rows['nome'];
                    $idade = $rows['idade'];
                    $peso = $rows['peso'];


    ?>


注意:未定义变量:sortBy在C:\xampp\htdocs\index.php第23行抱歉必须是
$sortBy
(小写),但您自己也可以看到。您上面代码中哪一行是行号23?如果($\u GET['sort']='id'))谢谢,顺便说一句,它只对ASC进行排序,如果我再次单击以对DESC进行排序,我将如何进行排序?您可以发送查询参数,如
$\u GET['order']
,并使用它。我更新了我的答案以使用php代码,但我没有访问您的html代码来更新它。