gpt4 book ai didi

PHP 从数据库中回显修改后的列表

转载 作者:行者123 更新时间:2023-11-30 00:07:58 25 4
gpt4 key购买 nike

尝试编写一个脚本,以便根据开始日期和结束日期之间的日期列表检查通过表单添加到 mysql 数据库的日期。如果日期冲突,它们将从开始日期到结束日期列表中删除,不留下任何冲突。这是我到目前为止所拥有的:

`

$date1 = '10/06/2014';
$date2 = '30/06/2014';

function returnDates($fromdate, $todate) {
$fromdate = \DateTime::createFromFormat('d/m/Y', $fromdate);
$todate = \DateTime::createFromFormat('d/m/Y', $todate);
return new \DatePeriod(
$fromdate,
new \DateInterval('P1D'),
$todate->modify('+1 day')
);
}

$datePeriod = returnDates($date1, $date2);
foreach($datePeriod as $date) {
$possible=$date->format('dmY');
}`
$con=mysqli_connect("localhost","user","pass","table");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM events");

while($row = mysqli_fetch_array($result)) {
$dateday = $row['Day'];
$datemonth = $row['Month'];
$dateyear = $row['Year'];

if($datemonth<"12"){
$newmonthdate=("0$datemonth");
}else{
$newmonthdate=("$datemonth");
}

$taken="$dateday$newmonthdate$dateyear";
}

if( $taken=$possible){
echo $taken;

最后一点是我坚持的部分,让它打印出从开始日期到结束日期的日期列表,其中不包含 mysql 数据库中的日期。目前我的日期格式为 23062014。(对此很陌生,所以我觉得我已经让这个变得比需要的更复杂)如果您能提供帮助,谢谢

最佳答案

好的,您可以从可能的日期数组开始,如下所示:

$datePeriod = returnDates($date1, $date2);
foreach($datePeriod as $date) {
$possible[] = $date->format('dmY');
}

在 while 循环中:

$taken = "$dateday$newmonthdate$dateyear";
array_remove($possible, $taken);

在 while 循环之后,您可以循环遍历 $possible 数组,该数组现在仅包含可用日期。

array_remove函数如下:

function array_remove(&$source, $value) {
$result = array();
foreach ($source as $s_value) {
if ($s_value != $value) {
$result[] = $s_value;
}
}

$source = $result;
}

关于PHP 从数据库中回显修改后的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24356771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com