如何在mysql中输入值取决于日期?

时间:2018-05-05 03:59:09

标签: javascript php

有人能帮助我吗?我想要做的是,例如今天的日期是'2018-05-08'然后如果用户输入输入文本,它将在列名“ONE”上,日期到列名“DAY1”然后如果日期仍然是'2018-05-08'并且用户再次输入ONE上的值将被更新。但是如果日期为'2018-05-09',它将在列名“TWO”上发布,日期为“DAY2”,如果日期仍然是2018-05-09,它将只更新“TWO”。如果日期为'2018-05-10',则列名为“THREE”,日期为“DAY3”。 DAY1到DAY2很好,但即使日期是DAY3,它只是更新“DAY2”而不是插入“DAY3”。请帮我。感谢。

<!DOCTYPE html>
<html>
<head>
<title>ASD</title>
</head>
<body>
<?php 
   include 'db.php';
   $month = date('M');
   $day1 = date('D');
   $day = date('d');
   $tot = 0;
   $datetocheck = '2018-05-08';
   if (isset($_POST['btn'])) {
       $sal = $_POST['sal'];
       $sql1 = "SELECT * FROM dates WHERE month='$month' and username='mrpopo'";
       $result1 = mysqli_query($conn, $sql1);   
       $resultChecka = mysqli_num_rows($result1);
       if ($resultChecka >0){
           while($row = mysqli_fetch_assoc($result1)){
              $one = $row['one'];
              $two = $row['two'];
              $three = $row['three'];
              $four = $row['four'];
              $day1 = $row['day1'];
              $day2 = $row['day2'];
              $day3 = $row['day3'];
              $day4 = $row['day4'];
              if ($day1 == $datetocheck) {
                 $sql23 = "UPDATE `dates` SET one='$sal' WHERE username='mrpopo' ";
                 mysqli_query($conn, $sql23);
              }
              elseif($day1 !=$datetocheck){
                 $sql23 = "UPDATE `dates` SET two='$sal', day2='$datetocheck' WHERE username='mrpopo' ";
                 mysqli_query($conn, $sql23);
              }
              elseif($day2==$datetocheck){
                 $sql23 = "UPDATE `dates` SET two='$sal' WHERE username='mrpopo' ";
                 mysqli_query($conn, $sql23);
              }
              elseif($day2 !=$datetocheck){
                 $sql23 = "UPDATE `dates` SET three='$sal', day3='$datetocheck' WHERE username='mrpopo' ";
                 mysqli_query($conn, $sql23);
              }
              elseif($day3 == $datetocheck){
                 $sql23 = "UPDATE `dates` SET three='$sal' WHERE username='mrpopo' ";
                 mysqli_query($conn, $sql23);
              }
              elseif($day3!=$datetocheck){
                 $sql23 = "UPDATE `dates` SET four='$sal', day4='$datetocheck' WHERE username='mrpopo' ";
                 mysqli_query($conn, $sql23);
              }
              elseif ($day4==$datetocheck) {
                 $sql23 = "UPDATE `dates` SET four='$sal' WHERE username='mrpopo' ";
                 mysqli_query($conn, $sql23);
              }

         }
      }
      else{
        $sql= "INSERT INTO `dates` (one, username,month,day1) VALUES ('$sal', 'mrpopo', '$month', '$datetocheck') ";
        mysqli_query($conn, $sql);

      }  
   }
?>
<form method="post">
<label><?php echo $day1.' '. $month .' '.$day; ?></label><input type="text" name="sal" >
<button name="btn">Submit</button>
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

我不认为你想要什么,但如果我不正确你可以使用这个代码

<!DOCTYPE html>
<html>
<head>
<title>ASD</title>
</head>
<body>
<?php
    $servername="localhost";
    $username="user";
    $password="password";
    $dbname="dbname";
    $dsn="mysql:host=$servername;dbname=$dbname";
try{
    $connect=new PDO ($dsn,$username,$password);
    $connect->exec("SET NAMES 'utf8';");
    }catch(PDOException $error){
          echo "Error in connect".$error->getMessage();
          exit();
    }

$date = date("Y-m-d");
$month = date('M');
$day1 = date('D');
$day = date('d');


$gid = $connect->prepare("SELECT MAX(bid) as maxGroup FROM dates");
$gid->execute();
$maxbid = $gid->fetch(PDO::FETCH_ASSOC);
if($maxbid['maxGroup']){$bid=($maxbid['maxGroup']+1);}else{$bid=1;}

$day="Day".$bid;  

   if (isset($_POST['btn'])) {
       $sal = $_POST['sal'];
       $count=$connect->query("SELECT * FROM dates WHERE month='$month' AND date='$date' and username='mrpopo'")->fetchColumn();

       if ($count >0){
$connect->query("UPDATE `dates` SET text='$sal' WHERE month='$month' AND date='$date' and username='mrpopo'");
      }
      else{
        $sql= ;
$connect->query("INSERT INTO `dates` (text, username,month,date,day) VALUES ('$sal', 'mrpopo', '$month', '$date', '$day')");

      }  
   }
?>
<form method="post">
<label><?php echo $day.' '. $month .' '.$day; ?></label><input type="text" name="sal" >
<button name="btn">Submit</button>
</form>
</body>
</html>