-2
數據庫
考生DB - KandidaterPHP SQL,從2個表中獲取數據,並沒有得到正確的輸出
(`id`, `name`, `department_id`) VALUES
(7, 'Kandidat 1', 0),
(8, 'Kandidat 2', 0),
(9, 'Kandidat 3', 0),
(10, 'Clarissa F. Andersen', 5000),
(11, 'Sandra Flammild', 5000),
(12, 'Amina Nielsen', 5000),
(13, 'Lise Lundin', 5000),
(14, 'Katrine Skovsgaard', 5000),
(15, 'Helle Lieesol Haugaard', 5000),
(16, 'Alicia Macaulau', 5000),
(17, 'Mark Mikel Thygesen', 5000),
(18, 'Michelle Møller', 5000),
(19, 'Nadia Chaker', 5000),
周計劃DB - Ugeplan
(`ID`, `K_ID`, `man_k`, `tir_k`, `ons_k`, `tor_k`,
`fre_k`, `man_g`, `tir_g`, `ons_g`, `tor_g`, `fre_g`,
`man_s`, `tir_s`, `ons_s`, `tor_s`, `fre_s`, `DM`, `DT`,
`DON`, `DTO`, `DF`, `uge`)
VALUES (2, 7, '09:00:00', '00:00:00', '00:00:00', '12:00:00',
'00:00:00', '12:00:00', '00:00:00', '00:00:00', '16:00:00',
'00:00:00', '', 'Fri', 'Fri', '', 'Syg', '19-06-2017',
'20-06-2017', '21-06-2017', '', 'Syg', 25),
(3, 7, '09:00:00', '00:00:00', '00:00:00', '12:00:00',
'00:00:00', '12:00:00', '00:00:00', '00:00:00', '16:00:00',
'00:00:00', '', 'Fri', 'Fri', '', 'Syg', '19-06-2017',
'20-06-2017', '21-06-2017', '', '23-06-2017', 25)
說明:
- K_ID - 考生編號
- man_k - 週一抵達
- tir_k - 週二抵達
- ons_k - 週三抵達
- tor_k - 週四抵達
- fre_k - 週五抵達
- man_g - 週一留下
- 週二離開
- tor_摹 - 週四離開
- fre_g - 週五離開
- man_s - 星期一狀態
- tir_s - 週二狀態
- ons_s - 週三狀態
- tor_s - 週四狀態
- fre_s - 週五狀態
- DM - 日期星期一
- DT - 日期星期二
- DON - 日期星期三
- DTO - 日期星期四
- DF - 日期週五
- UGE - 週數
守則
<?php
if(isset($_GET['city'])){
$by = $_GET['city'];
$dato = date('d/m/Y');
$idag = date("D");
$currentweek = date("W");
//Setting the right mysql table variables
$komme = '';
if($idag == Mon){$komme = "man_k"; $datoen = 'DM';}
else
if($idag == Tue){$komme = "tir_t"; $datoen = 'DT';}
else
if($idag == Wed){$komme = "ons_k"; $datoen = 'DON';}
else
if($idag == Thu){$komme = "tor_k"; $datoen = 'DTO';}
else
if($idag == Fri){$komme = "fre_k"; $datoen = 'DF';}
$connection = new mysqli('host', 'username', 'password', 'DB')
or die ('Cannot connect to db');
?>
<div style="float: left; width: 200px; min-height: 120px; border: 1px solid black;">
<h3>Kandidater i dag</h3>
<?php
//Getting list off candidates to the preselected department
$results = $connection->query("select * from kandidater where afdeling_id = $by");
while ($rows = $results->fetch_assoc()) {
$id = $rows['id'];
$person = $rows['navn'];
//Checking if they are planned to arrive today
$sql = "select $komme from ugeplan where K_ID ='$id' and $datoen = '$dato'";
$result = $connection->query($sql);
$row = $result->fetch_assoc();
$vis = $row[$komme];
if($vis == '00:00:00'){}else{
echo $person . "<br/>";
}
}
?>
</div>
<?php
}
?>
系統
我知道這是一些不良的一段代碼,但我可以在以後清理它,我只需要弄清楚我做錯了什麼。
這點是我建立一個網站登記到達,並在工作出發。 每個候選人都應該能夠檢查/檢出等。這已經在工作,並且正在進行測試。
在同一屏幕上,分配的領導希望能夠迅速看到誰計劃今天到達,然後尋找或調用他們。 同樣在緊急情況下,他們希望能夠通過查看系統輕鬆檢查每個人是否被佔用。
你忘了解釋你的問題是什麼! _「並沒有得到正確的輸出 」_有點模糊...... – Jeff
首先我建議你閱讀這些文章:http://php.net/manual/en/security.database.sql-injection.php和http://www.wikihow.com/Prevent-SQL-Injection-in-PHP –
你真的在你的數據庫中有一列以'd/m/Y'格式保存日期嗎?那麼不是一個適當的MySQL DATE類型列? _Not good practice_ – RiggsFolly