有人能帮助我吗?我想要做的是,例如今天的日期是'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>
答案 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>