From 819db816207a3713688c78c33f6c07a62d9b3b2d Mon Sep 17 00:00:00 2001 From: aldrichvalentino <aldrich.vh97@gmail.com> Date: Wed, 4 Oct 2017 12:27:00 +0700 Subject: [PATCH] added method insert to transaction table in database --- controller/orderController.php | 36 ++++++++++++++++++++++-- controller/transactionController.php | 4 +-- css/dashboard.css | 2 ++ css/history.css | 4 ++- css/order.css | 42 ++++++++++++++++++++++++++++ js/order.js | 21 ++++++++++++-- model/order.php | 9 ++++++ model/user.php | 14 ++++++---- view/dashboard.php | 14 +++++----- view/order.php | 18 ++++++++---- 10 files changed, 138 insertions(+), 26 deletions(-) diff --git a/controller/orderController.php b/controller/orderController.php index 8196bd57..0314e750 100644 --- a/controller/orderController.php +++ b/controller/orderController.php @@ -1,12 +1,14 @@ <?php include "../model/user.php"; +include "../model/order.php"; if(isset($_GET['drivername']) && isset($_GET['id'])){ $userId = $_GET['id']; $driverName = $_GET['drivername']; $user = new User(); - $result = $user->getDriver($userId); + $result = $user->getDriverNotId($userId); + header('Content-Type: text/html'); $txt = '<div class="driver-box"><h1>PREFERRED DRIVERS</h1>'; //Process to find the driver while($row = mysqli_fetch_array($result)){ @@ -23,7 +25,7 @@ if(isset($_GET['drivername']) && isset($_GET['id'])){ $txt = $txt . '</div>'; $txt = $txt . '<div class="driver-box"><h1>OTHER DRIVERS</h1>'; //Process other drivers - $result = $user->getDriver($userId); + $result = $user->getDriverNotId($userId); while($row = mysqli_fetch_array($result)){ if($row['name'] !== $driverName){ $txt = $txt . '<div class="single-driver"><img src="../img/'. $row['image'] .'" /><div class="driver-bio"> @@ -34,3 +36,33 @@ if(isset($_GET['drivername']) && isset($_GET['id'])){ $txt = $txt . '</div>'; echo $txt; } + +if(isset($_GET['driverId'])){ + $driverId = $_GET['driverId']; + $user = new User(); + $result = $user->getDriverById($driverId); + header('Content-Type: text/html'); + $txt = '<div class="third-page-driver">'; + //Process to find the driver + while($row = mysqli_fetch_array($result)){ + $txt = $txt . '<input type="hidden" id="hidden-image" value="'. $row['image'].'"/><div class="driver-image"> + </div><div class="driver-username">@'. $row['username'].'</div><div>'. $row['name'] .'</div>'; + } + $txt = $txt . '</div>'; + echo $txt; +} + +if(isset($_POST['pickup'])){ + $date = date('Y-m-d H:i:s'); + $pickup = $_POST['pickup']; + $destination = $_POST['destination']; + $driverId = $_POST['driverId']; + $userId = $_POST['userId']; + $rating = $_POST['rating']; + $pickup = $_POST['pickup']; + $comment = $_POST['comment']; + $transaction = new Order(); + $transaction->setTransaction($userId, $driverId, $pickup, $destination, $date, $rating, $comment); + //header('Location: ../view/dashboard.php?id=1'); + echo "berhasil"; +} diff --git a/controller/transactionController.php b/controller/transactionController.php index e387c092..908b8f71 100644 --- a/controller/transactionController.php +++ b/controller/transactionController.php @@ -33,7 +33,7 @@ if($isDriver) { <div class='transaction-city'>" . $row['pickup'] . " to " . $row['destination'] . "</div> <div class='transaction-rating'>gave " . $row['rating'] . " star(s) for this order</div> <div class='transaction-comment'>and left comment:<blockquote>\"" . $row['comment'] . "\"</blockquote></div></div> - <div class='hide-button'><button id='transaction-" . $i . "' onclick='hide(" . $i . ")'>HIDE</button></div> + <div class='hide-button'><div id='transaction-" . $i . "' onclick='hide(" . $i . ")'>HIDE</div></div> </div>"; $i++; } @@ -61,7 +61,7 @@ if($isDriver) { <div class='transaction-city'>" . $row['pickup'] . " to " . $row['destination'] . "</div> <div class='transaction-rating'>you rated: " . $row['rating'] . "</div> <div class='transaction-comment'>and left comment:<blockquote>\"" . $row['comment'] . "\"</blockquote></div></div> - <div class='hide-button'><button id='transaction-" . $i . "' onclick='hide(" . $i . ")'>HIDE</button></div> + <div class='hide-button'><div id='transaction-" . $i . "' onclick='hide(" . $i . ")'>HIDE</div></div> </div>"; $i++; } diff --git a/css/dashboard.css b/css/dashboard.css index f0da0776..66d72904 100644 --- a/css/dashboard.css +++ b/css/dashboard.css @@ -28,6 +28,7 @@ border: 1px solid #000; font-size: 2rem; font-weight: bold; + cursor: pointer; } .submenu-two { @@ -40,6 +41,7 @@ border: 1px solid #000; font-size: 1.5rem; font-weight: bold; + cursor: pointer; } .selected { diff --git a/css/history.css b/css/history.css index 468dfd1a..c4b31797 100644 --- a/css/history.css +++ b/css/history.css @@ -40,7 +40,9 @@ display: inline-block; font-size: initial; } -.hide-button button { +.hide-button > div { + display: inline-block; + cursor: pointer; padding: 8px; font-size: 1.5rem; background: red; diff --git a/css/order.css b/css/order.css index fe6cde32..4cc6eaa4 100644 --- a/css/order.css +++ b/css/order.css @@ -106,4 +106,46 @@ border: 1px solid #000; background-color: #82D800; border-radius: 8px; +} +.third-page { + width: 100%; + text-align: center; +} +.third-page > h1 { + text-align: left; +} +.selected-driver { + margin: 10px 0; + width: 100%; + text-align: center; + font-size: 1.5rem; +} +.driver-image { + display: inline-block; + height: 100px; + width: 100px; + background-position: center; + background-size: cover; + border: 2px solid #000; + border-radius: 1000px; +} +.driver-username { + font-size: 2rem; + font-weight: bold; +} +textarea { + width: 100%; +} +.submit-button { + margin: 10px 0; + width: 100%; + text-align: right; +} +.submit-button input { + display: inline-block; + text-align: right; + border: 1px solid #000; + background-color: #82D800; + border-radius: 15px; + padding: 15px; } \ No newline at end of file diff --git a/js/order.js b/js/order.js index c4aa4177..15f67bd8 100644 --- a/js/order.js +++ b/js/order.js @@ -25,13 +25,28 @@ function getDriver() { var drivername = (document.getElementById('preferred-driver').value) ? document.getElementById('preferred-driver').value : null; xmlhttp.onreadystatechange = function () { if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ - var drivers = this.responseText; - document.getElementsByClassName('second-page')[0].innerHTML = drivers; + document.getElementsByClassName('second-page')[0].innerHTML = this.responseText; } }; xmlhttp.open('GET','../controller/orderController.php?drivername='+drivername+'&id='+sessionid,true); xmlhttp.send(); } function chooseDriver(id){ - console.log(id); + document.getElementsByClassName('select-driver')[0].classList.remove('order-count'); + document.getElementsByClassName('complete-order')[0].classList.add('order-count'); + document.getElementsByClassName('second-page')[0].style.display = 'none'; + document.getElementsByClassName('third-page')[0].style.display = 'block'; + var xmlhttp = new XMLHttpRequest(); + xmlhttp.onreadystatechange = function () { + if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ + document.getElementById('selected-driver').innerHTML = xmlhttp.responseText; + document.getElementById('driverId').value = id; + document.getElementById('userId').value = sessionid; + var imageName = document.getElementById('hidden-image').value; + console.log(imageName); + document.getElementsByClassName('driver-image')[0].style.backgroundImage = 'url(../img/' + imageName + ')'; + } + }; + xmlhttp.open('GET','../controller/orderController.php?driverId='+id,true); + xmlhttp.send(); } \ No newline at end of file diff --git a/model/order.php b/model/order.php index 920e3c59..42a6c62e 100644 --- a/model/order.php +++ b/model/order.php @@ -9,4 +9,13 @@ class Order { mysqli_close($con); return $result; } + function setTransaction($userId, $driverId, $pickup, $destination, $transactionDate, $rating, $comment){ + $con = mysqli_connect('localhost','root', '', 'projekers'); + mysqli_select_db($con, 'projekers'); + $sql = 'INSERT INTO transaction(user_id, driver_id, pickup, destination, date, rating, comment) VALUES(' + . $userId .','. $driverId .','. $pickup .','. $destination.','. $transactionDate.','.$rating.',' + . $comment.')'; + mysqli_query($con, $sql); + mysqli_close($con); + } } \ No newline at end of file diff --git a/model/user.php b/model/user.php index 37aa1561..93cd457a 100644 --- a/model/user.php +++ b/model/user.php @@ -75,11 +75,7 @@ class User { mysqli_close($con); return $result; } - /** - get drivers whose id is not the user's id - * prevent order with self - */ - function getDriver($id){ + function getDriverNotId($id){ $con = mysqli_connect('localhost','root','','projekers'); mysqli_select_db($con,'projekers'); $query = "SELECT id,name,image FROM user WHERE isDriver=1 AND not id=" . $id; @@ -87,4 +83,12 @@ class User { mysqli_close($con); return $result; } + function getDriverById($id){ + $con = mysqli_connect('localhost','root','','projekers'); + mysqli_select_db($con,'projekers'); + $query = "SELECT name,username,image FROM user WHERE isDriver=1 AND id=" . $id; + $result = mysqli_query($con,$query); + mysqli_close($con); + return $result; + } } \ No newline at end of file diff --git a/view/dashboard.php b/view/dashboard.php index 5e84fa02..65551100 100644 --- a/view/dashboard.php +++ b/view/dashboard.php @@ -30,9 +30,9 @@ </div> </div> <div class="menu"> - <button class="submenu" id="order" onclick="order_clicked()">ORDER</button> - <button class="submenu" id="history" onclick="history_clicked(); getAllTransaction(1)">HISTORY</button> - <button class="submenu selected" id="profile" onclick="getUserProfile(); profile_clicked();">PROFILE</button> + <div class="submenu" id="order" onclick="order_clicked()">ORDER</div> + <div class="submenu" id="history" onclick="history_clicked(); getAllTransaction(1)">HISTORY</div> + <div class="submenu selected" id="profile" onclick="getUserProfile(); profile_clicked();">PROFILE</div> </div> <section class="order-wrapper"> @@ -44,10 +44,10 @@ <div class="sub-header-heading"><h1>TRANSACTION HISTORY</h1></div> </div> <div class="menu"> - <button class="submenu-two" id="previous-order" onclick="getAllTransaction(0); previousOrderClicked()"> - MY PREVIOUS ORDER</button> - <button class="submenu-two selected-order" id="driver-history" onclick="getAllTransaction(1); driverHistoryClicked()"> - DRIVER HISTORY</button> + <div class="submenu-two" id="previous-order" onclick="getAllTransaction(0); previousOrderClicked()"> + MY PREVIOUS ORDER</div> + <div class="submenu-two selected-order" id="driver-history" onclick="getAllTransaction(1); driverHistoryClicked()"> + DRIVER HISTORY</div> </div> <div class="driver-info" id="driver-info"></div> </section> diff --git a/view/order.php b/view/order.php index 4f03adc1..6507b6d6 100644 --- a/view/order.php +++ b/view/order.php @@ -7,7 +7,7 @@ <div class="complete-order"><div class="counter">3</div>Complete Order</div> </div> <div> - <form action="../controller/orderController.php"> + <form action="../controller/orderController.php" method="post"> <div class="first-page"> <div class="input-box"> <label>Picking Point</label><input type="text" name="pickup" placeholder="Pickup Point"/> @@ -22,14 +22,20 @@ <div class="next-page"><div id="next-page" onclick="nextPage(); getDriver();">NEXT</div></div> - <div class="second-page"> - - </div> + <div class="second-page"></div> <div class="third-page"> <h1>HOW WAS IT?</h1> - <input type="radio" /> - <input type="text" /> + <div class="selected-driver" id="selected-driver"></div> + <input type="hidden" id="driverId" name="driverId" /> + <input type="hidden" id="userId" name="userId" /> + <input type="radio" id="rating" name="rating" value="1" />1 + <input type="radio" id="rating" name="rating" value="2" />2 + <input type="radio" id="rating" name="rating" value="3" />3 + <input type="radio" id="rating" name="rating" value="4" />4 + <input type="radio" id="rating" name="rating" value="5" />5 + <textarea rows="3" placeholder="Leave your comment here!" name="comment" id="comment"></textarea> + <div class="submit-button"><input type="submit" value="COMPLETE!" /></div> </div> -- GitLab