第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何限制任務(wù)列表中允許輸入的任務(wù)數(shù)量?

如何限制任務(wù)列表中允許輸入的任務(wù)數(shù)量?

PHP
FFIVE 2023-10-22 21:17:35
我的問(wèn)題與 PHP/SQL 有關(guān)。我知道如何使用“LIMIT 5”來(lái)限制返回的結(jié)果。如何限制允許的輸入?那么用戶在刪除現(xiàn)有任務(wù)之一之前無(wú)法添加更多任務(wù)嗎?所以基本上我如何限制輸入而不是結(jié)果。此時(shí)我仍然可以添加任務(wù),但結(jié)果有限,它會(huì)將舊任務(wù)推到視野之外。我希望不可能添加更多任務(wù),除非在達(dá)到列表限制時(shí)將其刪除。更新:共享代碼:(是的,我知道我需要使用準(zhǔn)備好的語(yǔ)句)頭:<?php     $errors = "";    $db = mysqli_connect("localhost", "root", "", "certanet");    if (isset($_POST['submit'])) {        if (empty($_POST['task'])) {            $errors = "";        }else{            $task = $_POST['task'];            $sql = "INSERT INTO tasks (task) VALUES ('$task')";            mysqli_query($db, $sql);            header('location: dashboard.php');        }  }     if (isset($_GET['del_task'])) {    $id = $_GET['del_task'];      mysqli_query($db, "DELETE FROM tasks WHERE id=".$id);    header('location: dashboard.php');  }  ?>任務(wù)列表:<div class="todobox"><div class="menutitle" id="category">    Persoonlijke takenlijst</div><div class="inhoud">Hieronder is het mogelijk om je eigen taken bij te houden.<form method="post" action="dashboard.php" class="input_form"><?php if (isset($errors)) { ?>    <p><?php echo $errors; ?></p><?php } ?>        <input type="text" name="task" class="task_input">        <button type="submit" name="submit">Toevoegen</button>    </form>  <table>    <tbody id="todo">        <?php         $tasks = mysqli_query($db, "SELECT * FROM tasks ORDER BY id DESC LIMIT 7");        $i = 1; while ($row = mysqli_fetch_array($tasks)) { ?>            <tr>                <td> <?php echo $i; ?> </td>                <td class="task"> <?php echo $row['task']; ?> </td>                <td class="delete">                     <a href="dashboard.php?del_task=<?php echo $row['id'] ?>">x</a>                 </td>            </tr>        <?php $i++; } ?>        </tbody></table></div></div>
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊

當(dāng)您尋求 SQL 解決方案時(shí),這實(shí)際上更多的是應(yīng)用程序/業(yè)務(wù)需求,而不是數(shù)據(jù)庫(kù)問(wèn)題。如果應(yīng)用程序的業(yè)務(wù)邏輯需要限制用戶創(chuàng)建的記錄,那么應(yīng)用程序應(yīng)該查詢現(xiàn)有的記錄數(shù)量并向用戶提供適當(dāng)?shù)南鬟f。

從插入 SQL 中看不出來(lái)插入到表中的行是否tasks包含用于標(biāo)識(shí)哪個(gè)用戶輸入它的列。如果這是一個(gè)單用戶應(yīng)用程序,或者您的底層框架可能會(huì)自動(dòng)處理此問(wèn)題,那么這可能沒(méi)問(wèn)題。task如果這兩個(gè)都不成立,我們需要在該表中添加一列來(lái)捕獲用戶 ID 或其他標(biāo)識(shí)信息,以便將每條記錄與其各自的用戶關(guān)聯(lián)起來(lái)(例如,根據(jù)您的用例、IP 地址或會(huì)話 ID)可能就足夠了)。

假設(shè)上述全部成立,我們應(yīng)該實(shí)施一些更改:

  1. 切勿向用戶顯示表單,因?yàn)檫@會(huì)提供不支持/不允許的功能。相反,我們將用消息替換表單,以向用戶提供適當(dāng)?shù)姆答仭?/p>

  2. 如果我們收到POST用戶在超出限制后嘗試添加新記錄的請(qǐng)求,請(qǐng)拒絕該請(qǐng)求并向用戶顯示一條消息。

  3. 將一userId列或一些數(shù)據(jù)添加到表中以將用戶關(guān)聯(lián)起來(lái)tasks

  4. 插入 new 時(shí)設(shè)置此新列的值tasks。

無(wú)論是 aGET還是POST,我們都希望在渲染頁(yè)面之前查詢用戶的現(xiàn)有記錄。

<?php

$errors = "";

$maxUserTasks = 7;


$db = mysqli_connect("localhost", "root", "", "certanet");


// Before even handling the request, query for the user's existing records

$sql = "SELECT task FROM tasks WHERE userId = 123"

$userTaskCountQuery = mysqli_query($db, $sql);

$userTaskCount = $userTaskCountQuery->num_rows();


if (isset($_POST['submit'])) {

    if (empty($_POST['task'])) {

        $errors = "";

    }else if ($userTaskCount > $maxUserTasks){

        $errors = "You already have $maxUserTasks tasks."

    }else{

        // Here is where you'll first want to check

        $task = $_POST['task'];

        $sql = "INSERT INTO tasks (task) VALUES ('$task')";

        mysqli_query($db, $sql);

        header('location: dashboard.php');

    }

}


// Presumably, your page markup and form are somewhere down here

if ($userTaskCount > $maxUserTasks){

   // display our error message here

}else{

   // otherwise, display our form

}

?>


查看完整回答
反對(duì) 回復(fù) 2023-10-22
  • 1 回答
  • 0 關(guān)注
  • 135 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)