2017-12-27 7 views
0
ID | Client | Data | Hosting | Price | 
    |   |   |   |  | 
    |   | 2018-01-02 | Heineken | 500 | 
    |   | 2018-01-03 | Hestia | 200 | 
    |   | 2017-12-28 | Bravo  | 200 | 
    |   | 0000-00-00 |   |  | 
    |   | 0000-00-00 |   |  | 

작동하지 내년> 레코드 선택 오른쪽에서 7 일입니다 2018년 1월 3일 지금 (2017-12-27) 내 코드가 일치하는 레코드를 반환하지 않습니다 (이 날짜의 레코드가 있음에도 불구하고)? 나는 코드로 내일 날짜 2017년 12월 28일을 선택하면, 놀랍게도 이렇게크론 작업 (PHP) - 내가 날짜를 내년에서 레코드를 선택하는 PHP 코드를 원하는 이유

<?php 

    use PHPMailer\PHPMailer\PHPMailer; 
    include_once "PHPMailer/PHPMailer.php"; 
    include_once "PHPMailer/Exception.php"; 

    $mysqli = new mysqli('localhost', 'stdeja_przypomnien', 'admin123', 'stdeja_root'); 

    $tbl_2 = $mysqli->query("SELECT * FROM subjects WHERE date(data_waznosci) = CURDATE()+7;"); 

    if($tbl_2->num_rows == 1) { 
     $mail = new PHPMailer(); 
     foreach($tbl_2 as $email => $details) {   
      $fullname = $details['klient'] . ' ' . $details['data_waznosci']; 

      $mail->addAddress('[email protected]'); 
      $mail->setFrom('[email protected]'); 
      $mail->Subject = "Hosting - system przypomnień"; 
      $mail->isHTML(true); 
      $mail->Body = "W dniu {$details['data_waznosci']} kończy się hosting klientowi {$details['klient']} na KWOTĘ {$details['cena']}, hosting to {$details['Hosting']}"; 

      if ($mail->send()) 
       echo "Formularz został wysłany. Postaramy się odpowiedzieć jak najszybciej."; 
      else 
       echo 'Mailer Error: ' . $mail->ErrorInfo; 
     }    


} 
?> 

: 이것은 내 쭈 코드 CURDATE() + 1 선택 가 작동 하는가를 (기록을 일치 반환 '브라보');

답변

0

시도 DATE_ADD() 사용

$tbl_2 = $mysqli->query("SELECT * FROM subjects 
     WHERE date(data_waznosci) = date_add(CURDATE(), INTERVAL 7 DAY);"); 
+0

작품 감사합니다! :) CURDATE() + 7 선택이 작동하지 않는 이유가 궁금합니다. – Hieronimes

+0

@Hieronimes 내 대답이 맞다면 받아주세요 ... 표시 방법은 여기를 참조하십시오. http://meta.stackexchange.com/questions/5234/how-does-accept-an-answer-work – scaisEdge

+0

DATE_ADD 함수를 사용할 필요가 없습니다. MySQL은'CURDATE() + INTERVAL 7 DAY' @Hieronimes를 추가하면된다. –