我正在做一個小專案,但我面臨著我自己無法解決的問題。長話短說:我有一個 MariaDB 資料庫,里面有很多資訊,我將這些資訊列印在表的 frontedn 中:
code here:
<center> <table id="table_id" class="table table-striped">
<tr>
<th>Номер</th> <th>Статус</th> <th>Найменование</th> <th>Сериен номер</th> <th>Локация</th> <th>Отговорник</th> <th>Калибриран на</th> <th>Следваща калибрация</th> <th>Калибрира се при</th> <th>Интервал</th> <th>Оставащи дни</th> <th>Действия</th>
</tr>
<?php
while($user_data = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>".$user_data['toolnr']."</td>";
echo "<td>".$user_data['status']."</td>";
echo "<td>".$user_data['toolname']."</td>";
echo "<td>".$user_data['serial']."</td>";
echo "<td>".$user_data['usedat']."</td>";
echo "<td>".$user_data['owner']."</td>";
echo "<td>".$user_data['calibrated']."</td>";
echo "<td>".$user_data['nextcalibration']."</td>";
echo "<td>".$user_data['vendors']."</td>";
echo "<td>".$user_data['lifetime']."</td>";
echo "<td>";
$toolnqkakav = $user_data['toolnr'];
$days=$user_data['days'];
if($days <= 30){
echo "<span style='color:red;'>$days</span>";
}
else{
echo "<span style='color:green;'>$days</span>";
}
echo "</td>";
echo "<td><a href='edit.php?id=$user_data[id]'><img src='img/edit.png' ></a> | <a href='delete.php?id=$user_data[id]' onclick='return checkDelete()'><img src='img/delete.png'></a></td></tr>";
所以我想在這種情況下制作“郵件功能”如下:如果對于一些記錄:
`$days <= 30; // to send email to the $owner of this record.`
我試過這個:
`if ($days<=30)
{
ini_set('SMTP', "smtp.server.int");
ini_set('smtp_port', "25");
ini_set('sendmail_from', "[email protected]");
$to_email = "[email protected]";
$subject = "The period is expiring";
$body = "Tool ".$toolnr." expiring ";
$headers = "From: MyTools ";
if (mail($to_email, $subject, $body, $headers))
{
echo "Email successfully sent to $to_email...";
}
else
{
echo "Email sending failed!";
}
}`
在這種情況下,我收到了電子郵件,但目標是讓每條記錄都向特定的 $owner 發送單獨的電子郵件。.這是我從資料庫中獲取資料的查詢:
`SELECT *, DATEDIFF(nextcalibration, CURDATE()) AS days FROM tools AS dp where isdeleted <> 'Deleted' `
任何支持都會受到高度評價。
例如,如果$toolnr
資料庫中 id 為“23”的“213454”必須$days<=30
向$owner
編輯:
這是完整的代碼:
<?php
// We need to use sessions, so you should always start sessions using the below code.
session_start();
// If the user is not logged in redirect to the login page...
if (!isset($_SESSION['loggedin'])) {
header('Location:login.html');
exit;
}
?>
<?php
// Create database connection using config file
include_once("config.php");
// Fetch all users data from database
$result = mysqli_query($mysqli, "SELECT *, DATEDIFF(nextcalibration, CURDATE()) AS days FROM tools AS dp where isdeleted <> 'Deleted' ");
?>
<html>
<head>
<title>Homepage</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous">
<style type="text/css">
.wrapper{
width: 500px;
margin: 0 auto;
}
</style>
<center> <img src="logo-ottobock.png" alt="Logo"> <br>
<i> Calibration management system - Bulgaria </i> <br><br>
<input type="submit" onclick="window.location.href='../';" class="btn btn-warning" value="Обратно" >
<input type="submit" onclick="window.location.href='../add/add.php';" class="btn btn-success" value="Добави нов" >
</center>
<hr>
</head>
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
<script language="JavaScript" type="text/javascript">
function checkDelete(){
return confirm('Сериозно! Потврждавате ли изтриването ?');
}
</script>
<body>
<center> <table id="table_id" class="table table-striped">
<tr>
<th>Номер</th> <th>Статус</th> <th>Найменование</th> <th>Сериен номер</th> <th>Локация</th> <th>Отговорник</th> <th>Калибриран на</th> <th>Следваща калибрация</th> <th>Калибрира се при</th> <th>Интервал</th> <th>Оставащи дни</th> <th>Действия</th>
</tr>
<?php
while($user_data = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>".$user_data['toolnr']."</td>";
echo "<td>".$user_data['status']."</td>";
echo "<td>".$user_data['toolname']."</td>";
echo "<td>".$user_data['serial']."</td>";
echo "<td>".$user_data['usedat']."</td>";
echo "<td>".$user_data['owner']."</td>";
echo "<td>".$user_data['calibrated']."</td>";
echo "<td>".$user_data['nextcalibration']."</td>";
echo "<td>".$user_data['vendors']."</td>";
echo "<td>".$user_data['lifetime']."</td>";
echo "<td>";
$days=$user_data['days'];
if($days <= 30){
echo "<span style='color:red;'>$days</span>";
}
else{
echo "<span style='color:green;'>$days</span>";
}
echo "</td>";
echo "<td><a href='edit.php?id=$user_data[id]'><img src='img/edit.png' ></a> | <a href='delete.php?id=$user_data[id]' onclick='return checkDelete()'><img src='img/delete.png'></a></td></tr>";
}
/* mail function
if ($days<=30)
{
ini_set('SMTP', "smtp.server.int");
ini_set('smtp_port', "25");
ini_set('sendmail_from', "XXX@XXX.com");
$to_email = "receiver@example.com";
$subject = "The period is expiring";
$body = "Tool ".$toolnr." expiring ";
$headers = "From: MyTools ";
if (mail($to_email, $subject, $body, $headers))
{
echo "Email successfully sent to $to_email...";
}
else
{
echo "Email sending failed!";
}
}
end mail function */
?>
</table> </center>
</body>
<hr>
<footer>
<center> <br>
當我使用 $toolnr 和 $user_data['owner'] 時,“系統”只為一條記錄發送一封郵件,其中 $days<=30 而不是所有工具都使用 $days<=30。
uj5u.com熱心網友回復:
謝謝大家,最終解決方案正在運行。
while($user_data = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>".$user_data['toolnr']."</td>";
echo "<td>".$user_data['status']."</td>";
echo "<td>".$user_data['toolname']."</td>";
echo "<td>".$user_data['serial']."</td>";
echo "<td>".$user_data['usedat']."</td>";
echo "<td>".$user_data['owner']."</td>";
echo "<td>".$user_data['calibrated']."</td>";
echo "<td>".$user_data['nextcalibration']."</td>";
echo "<td>".$user_data['vendors']."</td>";
echo "<td>".$user_data['lifetime']."</td>";
echo "<td>";
$toolnomer = $user_data['toolnr'];
$otgovoren = $user_data['owner'];
$imetool = $user_data['toolname'];
$days=$user_data['days'];
if($days <= 30){
echo "<span style='color:red;'>$days</span>";
}
else{
echo "<span style='color:green;'>$days</span>";
}
echo "</td>";
echo "<td><a href='edit.php?id=$user_data[id]'><img src='img/edit.png' ></a> | <a href='delete.php?id=$user_data[id]' onclick='return checkDelete()'><img src='img/delete.png'></a></td></tr>";
if ($days<=30)
{
ini_set('SMTP', "smtp.XXXX.int");
ini_set('smtp_port', "25");
ini_set('sendmail_from', "[email protected]");
$to_email = "".$otgovoren."@XXX.com";
$subject = "Изтичаща калибрация";
$body = "Инструмент ".$toolnomer." с найменование ".$imetool.", намиращ се в зона ".$user_data['usedat']." изтича на ".$user_data['nextcalibration']."";
$headers = "From: MyTools XXXX Bulgaria";
if (mail($to_email, $subject, $body, $headers))
{
echo "Email successfully sent to $to_email...";
}
else {
echo "Email sending failed!";
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/530193.html
標籤:phpmysql电子邮件