<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                上一章我們按照我們的“數據庫連接天龍八步”,很順利的就完成了用戶注冊。 我們來做一個后臺的用戶列表展示。在實際的管理過程當中,我們通過后臺,可以個修改用戶的密碼和用戶的相關資料。 在后臺需要將所有用戶以表格的形式展示出來就是用戶列表。 ###一、連接數據庫、判斷錯誤和設置字符集 連接、錯誤判斷和字符集選擇都在上面已經講過。老規矩,第一步使用mysqli_connect連接數據庫。在第一節我們講過,可以在第四個參數中加上庫選擇。就可以不用使用mysqli_select_db函數在后面再次選擇一個數據庫了。 返回的類型就是一個連接資源。我們在mysqli_errno、mysqli_error和mysqli_set_charset都要傳入資源,才能確定我們操作的是哪個連接。 ~~~ $conn = mysqli_connect('localhost', 'root', 'secret', 'book'); if (mysqli_errno($conn)) { mysqli_error($conn); exit; } mysqli_set_charset($conn, 'utf8'); ~~~ ###二、準備并發送SQL語句 我們需要查詢的的將候將用戶ID,用戶名、時間和IP都查出來。并且使用order by id 進行降序排序。 按照人的思維人們一般喜歡看最新注冊的一批用戶。而ID自增,也就是ID在越大,就是時間注冊越新的用戶。因此我們在寫SQL語句的時寫上的是order by id desc。 ~~~ $sql = "select id,username,createtime,createip from user order by id desc"; $result = mysqli_query($conn, $sql); ~~~ ###三、判斷結果 查詢出來的結果只要SQL語句正確結果變量$result就為真。因此,在實現的時候我們需要多加一步判斷,不僅判斷$result。而且,判斷查詢出來的行數。 查詢出來的行數可以使用mysqli_num_rows。這個函數要求傳入$result查詢的結果變量。 如果有結果則顯示列表,如果沒有結果我們產生一句提示即可。 代碼片段如下: ~~~ if($result && mysqli_num_rows($result)){ //顯示列表代碼段 }else{ //提示沒有結果的代碼段 } ~~~ ###四、循環顯示數據 所有結果我們需要使用列表的形式展示出來。表格的行和列和數據表的行和列是一樣的。所示展示起來很方便。 先聲明一個表格,每次循環的時候輸出一行。將結果展示到各個列里面。 使用到的函數是mysqli_fetch_assoc,返回的會是一個關聯數組。 這個函數讀取一個結果集,會向后移動一次。讀取到最后沒有結果的時候會返回bool值的false。因此,我們選擇while來配合mysqli_fetch_assoc。 每次循環的結果賦值給$row,$row中是關聯數組。因此我在這次循環中,可以將行和列都顯示出來。 ~~~ echo '<table width="800" border="1">'; while ($row = mysqli_fetch_assoc($result)) { echo '<tr>'; echo '<td>' . $row['username'] . '</td>'; echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>'; echo '<td>' . long2ip($row['createip']) . '</td>'; echo '</tr>'; } echo '</table>'; ~~~ ###五、增加編輯和刪除控制 1. 在刪除的時候我們分為單選刪除和多選刪除。 2. 而編輯的時候,我們會選擇一個用戶 我們在上一步的代碼中增加幾個小東西就在頁面中實現了刪除和編編。 我們來看看實際的效果圖,來推理具體的實現過程,效果如下: ![](https://box.kancloud.cn/2015-10-13_561c8906de39b.png) 在實現過程當中有幾個要點: 1. 單選擇刪除和編輯時需使用get方法傳入ID,我們才知道要編輯或者刪除的是哪個用戶。 2. 多選刪除時,需要使用傳入多個用戶。因此,我們可以使用form表單,使用post方法來提交這批用戶ID。 單選刪除我們可以在delete.php后面我們跟上?加上id和值就點擊時進行刪除請求即可。 `echo '<td><a href="delete.php?id=' . $row['id'] . '">刪除用戶</a></td>';` 編輯用戶也是同理,我們在edit.php加上?寫上id和值,點擊時就知道是需要編輯的哪個用戶了。 `echo '<td><a href="edit.php?id=' . $row['id'] . '">編輯用戶</a></td>';` 而多選刪除,我們需要使用到html中的checkbox,傳入多個用戶ID的時候需要在name 后加上id[]。使用form表單將表格包起來,在表格外加上一個submit標簽就實現了多選刪除。 ~~~ <form action="delete.php" method="post"> echo '<td><input type="checkbox" name="id[]" value="' . $row['id'] . '" /></td>'; echo '<input type="submit" value="刪除" />'; echo '</form>'; ~~~ 代碼如下: ~~~ echo '<form action="delete.php" method="post">'; echo '<table width="800" border="1">'; while ($row = mysqli_fetch_assoc($result)) { echo '<tr>'; echo '<td><input type="checkbox" name="id[]" value="' . $row['id'] . '" /></td>'; echo '<td>' . $row['username'] . '</td>'; echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>'; echo '<td>' . long2ip($row['createip']) . '</td>'; echo '<td><a href="edit.php?id=' . $row['id'] . '">編輯用戶</a></td>'; echo '<td><a href="delete.php?id=' . $row['id'] . '">刪除用戶</a></td>'; echo '</tr>'; } echo '</table>'; echo '<input type="submit" value="刪除" />'; echo '</form>'; ~~~ ###六、關閉數據庫連接 我們操作完數據庫,關閉掉這個數據庫連接。 ~~~ mysqli_close($conn); ~~~ 我們整實現的用戶列表list.php代碼如下: ~~~ <?php $conn = mysqli_connect('localhost', 'root', 'secret', 'book'); if (mysqli_errno($conn)) { mysqli_error($conn); exit; } mysqli_set_charset($conn, 'utf8'); $sql = "select id,username,createtime,createip from user order by id desc"; $result = mysqli_query($conn, $sql); if ($result && mysqli_num_rows($result)) { echo '<table width="800" border="1">'; while ($row = mysqli_fetch_assoc($result)) { echo '<tr>'; echo '<td>' . $row['username'] . '</td>'; echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>'; echo '<td>' . long2ip($row['createip']) . '</td>'; echo '<td><a href="edit.php?id=' . $row['id'] . '">編輯用戶</a></td>'; echo '<td><a href="delete.php?id=' . $row['id'] . '">刪除用戶</a></td>'; echo '</tr>'; } echo '</table>'; } else { echo '沒有數據'; } mysqli_close($conn); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看