ループ内でif文を作成します。PHP MySQLでループ中にネストされた文を実行するには?
そして問題は、この
Time added ! Duplicate Time added
そして、まだ第一及び第三行に追加されたデータのような出力ショーです
row 1 : **timeout 0830 , timein 1030**
row 2 : **timeout 1230 , timein 1300**
row 3 : **timeout 1400 , timein 1730**
以下のように私は、テーブル内のデータの3つの行を持っています。どうしてか分かりません。
私は、行のいずれかがデータを追加せずに重複している場合にエラーを表示します。 1ので、任意のデータを追加することはありません
重複
そして、第一及び第二行目:
レッツはI 1230と1300は、私のように出力を表示したいです2行目の入力データを言います行は重複しています。
<?php
$connect = mysqli_connect("localhost", "root", "", "movementandroid");
global $connect;
if(isset($_POST['Submit'])){
$user_id = $_POST['user_id'];
$timeout = $_POST['timeout'];
$timein = $_POST['timein'];
$sql = "SELECT * FROM table WHERE user_id='$user_id'";
$get = mysqli_query($connect, $sql);
if($get && mysqli_num_rows($get) > 0){
while($run2 = mysqli_fetch_assoc($get)){
$timeout_new = $run2['timeout'];
$timein_new = $run2['timein'];
if(($timeout >= $timeout_new) && ($timein <= $timein_new)){
echo "Duplicate !";
}
else{
$add = "INSERT INTO table (timeout, timein)
VALUES ('$timeout', '$timein')";
$addDateTime = mysqli_query($connect,$add);
echo "Time added !";
}
}
mysqli_free_result($get);
}
}
?>
<form action="dd.php" method="post">
<table>
<tr>
<td><i class="fa fa-unlock-alt"></i> </td>
<td>User ID : </td>
<td><input type ="text" name="user_id" size="30"></td>
</tr>
<tr>
<td><i class="fa fa-unlock-alt"></i> </td>
<td>Time out : </td>
<td><input type ="text" name="timeout" size="30"></td>
</tr>
<tr>
<td><i class="fa fa-unlock-alt"></i> </td>
<td>Time in : </td>
<td><input type ="text" name="timein" size="30"></td>
</tr>
</table>
<p><input class="btnSuccess" type ="submit" name="Submit" value="Submit"> </p>
</form>
まさに「複製」の定義は何ですか? _any_ "duplicates"があれば、あなたはレコードを挿入したくないと言っていますか? –
フラグ変数を使用します。重複がある場合はそれを切り替え、行をループした後にフラグ変数をチェックし、それに応じてdbにデータを挿入します。 –
はい。条件が「重複している」場合は、データを追加したくありません。 。入力時間が同じか、時間範囲内にあるため – Jamilah