Stok yönetimi için kurduğum bir sitem var. ürünler sayfası bulunuyor. Ürünler sorunsuz ekleniyor. Fakat Satış sayfası da bulunuyor burada maksat ürünlerin kime gittiğini tespit edebilmek. Fakat ne yaptıysam müşteri bölümüne veri çekip kaydedemiyorum. eklenemiyor. veri çekince müşteri bölümünü çekmiyor. Nerede hata yapıyorum yardımcı olabilecek var mı Teşekkürler. kod sayfaları aşağıda. ürünler ve satışlar veri tabanına ekledim
Sales sayfası
<?php
$page_title = 'Bütün Satışlar';
require_once('includes/load.php');
// Checkin What level user has permission to view this page
page_require_level(3);
?>
<?php
$sales = find_all_sale();
?>
<?php include_once('layouts/header.php'); ?>
<div class="row">
<div class="col-md-6">
<?php echo display_msg($msg); ?>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading clearfix">
<strong>
<span class="glyphicon glyphicon-th"></span>
<span>Bütün Satışlar</span>
</strong>
<div class="pull-right">
<a href="add_sale.php" class="btn btn-primary">Satış Ekle</a>
</div>
</div>
<div class="panel-body">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th class="text-center" style="width: 30px;">#</th>
<th> Ürün Adı </th>
<th class="text-center" style="width: 15%;"> Adeti</th>
<th class="text-center" style="width: 15%;"> Toplam </th>
<th class="text-center" style="width: 15%;"> Tarih </th>
<th class="text-center" style="width: 100px;"> Aksiyon </th>
</tr>
</thead>
<tbody>
<?php foreach ($sales as $sale):?>
<tr>
<td class="text-center"><?php echo count_id();?></td>
<td><?php echo remove_junk($sale['name']); ?></td>
<td class="text-center"><?php echo (int)$sale['qty']; ?></td>
<td class="text-center"><?php echo remove_junk($sale['price']); ?></td>
<td class="text-center"><?php echo $sale['date']; ?></td>
<td class="text-center">
<div class="btn-group">
<a href="edit_sale.php?id=<?php echo (int)$sale['id'];?>" class="btn btn-warning btn-xs" title="Edit" data-toggle="tooltip">
<span class="glyphicon glyphicon-edit"></span>
</a>
<a href="delete_sale.php?id=<?php echo (int)$sale['id'];?>" class="btn btn-danger btn-xs" title="Delete" data-toggle="tooltip">
<span class="glyphicon glyphicon-trash"></span>
</a>
</div>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<?php include_once('layouts/footer.php'); ?>add sales sayfası<?php
$page_title = 'Satış Ekle';
require_once('includes/load.php');
// Checkin What level user has permission to view this page
page_require_level(3);
?>
<?php
if(isset($_POST['add_sale'])){
$req_fields = array('s_id','quantity','price','total', 'date' );
validate_fields($req_fields);
if(empty($errors)){
$p_id = $db->escape((int)$_POST['s_id']);
$s_qty = $db->escape((int)$_POST['quantity']);
$s_total = $db->escape($_POST['total']);
$date = $db->escape($_POST['date']);
$s_date = make_date();
$sql = "INSERT INTO sales (";
$sql .= " product_id,qty,price,date";
$sql .= ") VALUES (";
$sql .= "'{$p_id}','{$s_qty}','{$s_total}','{$s_date}'";
$sql .= ")";
if($db->query($sql)){
update_product_qty($s_qty,$p_id);
$session->msg('s',"Sale added. ");
redirect('add_sale.php', false);
} else {
$session->msg('d',' Sorry failed to add!');
redirect('add_sale.php', false);
}
} else {
$session->msg("d", $errors);
redirect('add_sale.php',false);
}
}
?>
<?php include_once('layouts/header.php'); ?>
<div class="row">
<div class="col-md-6">
<?php echo display_msg($msg); ?>
<form method="post" action="ajax.php" autocomplete="off" id="sug-form">
<div class="form-group">
<div class="input-group">
<span class="input-group-btn">
<button type="submit" class="btn btn-primary">Ürünü Getir</button>
</span>
<input type="text" id="sug_input" class="form-control" name="title" placeholder="Aramak İstediğiniz Ürünün Adını Girin">
</div>
<div id="result" class="list-group"></div>
</div>
</form>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading clearfix">
<strong>
<span class="glyphicon glyphicon-th"></span>
<span>Giden Ürün Ekle</span>
</strong>
</div>
<div class="panel-body">
<form method="post" action="add_sale.php">
<table class="table table-bordered">
<thead>
<th> Ürün Adı </th>
<th> Fiyatı </th>
<th> Adeti </th>
<th> Toplam </th>
<th> Tarih</th>
<th> Aksiyon</th>
</thead>
<tbody id="product_info"> </tbody>
</table>
</form>
</div>
</div>
</div>
</div>
<?php include_once('layouts/footer.php'); ?>fonksiyon sayfası<?php
require_once('includes/load.php');
/*--------------------------------------------------------------*/
/* Function for find all database table rows by table name
/*--------------------------------------------------------------*/
function find_all($table) {
global $db;
if(tableExists($table))
{
return find_by_sql("SELECT * FROM ".$db->escape($table));
}
}
/*--------------------------------------------------------------*/
/* Function for Perform queries
/*--------------------------------------------------------------*/
function find_by_sql($sql)
{
global $db;
$result = $db->query($sql);
$result_set = $db->while_loop($result);
return $result_set;
}
/*--------------------------------------------------------------*/
/* Function for Find data from table by id
/*--------------------------------------------------------------*/
function find_by_id($table,$id)
{
global $db;
$id = (int)$id;
if(tableExists($table)){
$sql = $db->query("SELECT * FROM {$db->escape($table)} WHERE id='{$db->escape($id)}' LIMIT 1");
if($result = $db->fetch_assoc($sql))
return $result;
else
return null;
}
}
/*--------------------------------------------------------------*/
/* Function for Delete data from table by id
/*--------------------------------------------------------------*/
function delete_by_id($table,$id)
{
global $db;
if(tableExists($table))
{
$sql = "DELETE FROM ".$db->escape($table);
$sql .= " WHERE id=". $db->escape($id);
$sql .= " LIMIT 1";
$db->query($sql);
return ($db->affected_rows() === 1) ? true : false;
}
}
/*--------------------------------------------------------------*/
/* Function for Count id By table name
/*--------------------------------------------------------------*/
function count_by_id($table){
global $db;
if(tableExists($table))
{
$sql = "SELECT COUNT(id) AS total FROM ".$db->escape($table);
$result = $db->query($sql);
return($db->fetch_assoc($result));
}
}
/*--------------------------------------------------------------*/
/* Determine if database table exists
/*--------------------------------------------------------------*/
function tableExists($table){
global $db;
$table_exit = $db->query('SHOW TABLES FROM '.DB_NAME.' LIKE "'.$db->escape($table).'"');
if($table_exit) {
if($db->num_rows($table_exit) > 0)
return true;
else
return false;
}
}
/*--------------------------------------------------------------*/
/* Login with the data provided in $_POST,
/* coming from the login form.
/*--------------------------------------------------------------*/
function authenticate($username='', $password='') {
global $db;
$username = $db->escape($username);
$password = $db->escape($password);
$sql = sprintf("SELECT id,username,password,user_level FROM users WHERE username ='%s' LIMIT 1", $username);
$result = $db->query($sql);
if($db->num_rows($result)){
$user = $db->fetch_assoc($result);
$password_request = sha1($password);
if($password_request === $user['password'] ){
return $user['id'];
}
}
return false;
}
/*--------------------------------------------------------------*/
/* Login with the data provided in $_POST,
/* coming from the login_v2.php form.
/* If you used this method then remove authenticate function.
/*--------------------------------------------------------------*/
function authenticate_v2($username='', $password='') {
global $db;
$username = $db->escape($username);
$password = $db->escape($password);
$sql = sprintf("SELECT id,username,password,user_level FROM users WHERE username ='%s' LIMIT 1", $username);
$result = $db->query($sql);
if($db->num_rows($result)){
$user = $db->fetch_assoc($result);
$password_request = sha1($password);
if($password_request === $user['password'] ){
return $user;
}
}
return false;
}
/*--------------------------------------------------------------*/
/* Find current log in user by session id
/*--------------------------------------------------------------*/
function current_user(){
static $current_user;
global $db;
if(!$current_user){
if(isset($_SESSION['user_id'])):
$user_id = intval($_SESSION['user_id']);
$current_user = find_by_id('users',$user_id);
endif;
}
return $current_user;
}
/*--------------------------------------------------------------*/
/* Find all user by
/* Joining users table and user gropus table
/*--------------------------------------------------------------*/
function find_all_user(){
global $db;
$results = array();
$sql = "SELECT u.id,u.name,u.username,u.user_level,u.status,u.last_login,";
$sql .="g.group_name ";
$sql .="FROM users u ";
$sql .="LEFT JOIN user_groups g ";
$sql .="ON g.group_level=u.user_level ORDER BY u.name ASC";
$result = find_by_sql($sql);
return $result;
}
/*--------------------------------------------------------------*/
/* Function to update the last log in of a user
/*--------------------------------------------------------------*/
function updateLastLogIn($user_id)
{
global $db;
$date = make_date();
$sql = "UPDATE users SET last_login='{$date}' WHERE id ='{$user_id}' LIMIT 1";
$result = $db->query($sql);
return ($result && $db->affected_rows() === 1 ? true : false);
}
/*--------------------------------------------------------------*/
/* Find all Group name
/*--------------------------------------------------------------*/
function find_by_groupName($val)
{
global $db;
$sql = "SELECT group_name FROM user_groups WHERE group_name = '{$db->escape($val)}' LIMIT 1 ";
$result = $db->query($sql);
return($db->num_rows($result) === 0 ? true : false);
}
/*--------------------------------------------------------------*/
/* Find group level
/*--------------------------------------------------------------*/
function find_by_groupLevel($level)
{
global $db;
$sql = "SELECT group_level FROM user_groups WHERE group_level = '{$db->escape($level)}' LIMIT 1 ";
$result = $db->query($sql);
return($db->num_rows($result) === 0 ? true : false);
}
/*--------------------------------------------------------------*/
/* Function for cheaking which user level has access to page
/*--------------------------------------------------------------*/
function page_require_level($require_level){
global $session;
$current_user = current_user();
$login_level = find_by_groupLevel($current_user['user_level']);
//if user not login
if (!$session->isUserLoggedIn(true)):
$session->msg('d','Please login...');
redirect('index.php', false);
//if Group status Deactive
elseif($login_level['group_status'] === '0'):
$session->msg('d','This level user has been band!');
redirect('home.php',false);
//cheackin log in User level and Require level is Less than or equal to
elseif($current_user['user_level'] <= (int)$require_level):
return true;
else:
$session->msg("d", "Sorry! you dont have permission to view the page.");
redirect('home.php', false);
endif;
}
/*--------------------------------------------------------------*/
/* Function for Finding all product name
/* JOIN with categorie and media database table
/*--------------------------------------------------------------*/
function join_product_table(){
global $db;
$sql =" SELECT p.id,p.name,p.quantity,p.buy_price,p.sale_price,p.media_id,p.date,c.name";
$sql .=" AS categorie,m.file_name AS image";
$sql .=" FROM products p";
$sql .=" LEFT JOIN categories c ON c.id = p.categorie_id";
$sql .=" LEFT JOIN media m ON m.id = p.media_id";
$sql .=" ORDER BY p.id ASC";
return find_by_sql($sql);
}
/*--------------------------------------------------------------*/
/* Function for Finding all product name
/* Request coming from ajax.php for auto suggest
/*--------------------------------------------------------------*/
function find_product_by_title($product_name){
global $db;
$p_name = remove_junk($db->escape($product_name));
$sql = "SELECT name FROM products WHERE name like '%$p_name%' LIMIT 5";
$result = find_by_sql($sql);
return $result;
}
/*--------------------------------------------------------------*/
/* Function for Finding all product info by product title
/* Request coming from ajax.php
/*--------------------------------------------------------------*/
function find_all_product_info_by_title($title){
global $db;
$sql = "SELECT * FROM products ";
$sql .= " WHERE name ='{$title}'";
$sql .=" LIMIT 1";
return find_by_sql($sql);
}
/*--------------------------------------------------------------*/
/* Function for Update product quantity
/*--------------------------------------------------------------*/
function update_product_qty($qty,$p_id){
global $db;
$qty = (int) $qty;
$id = (int)$p_id;
$sql = "UPDATE products SET quantity=quantity -'{$qty}' WHERE id = '{$id}'";
$result = $db->query($sql);
return($db->affected_rows() === 1 ? true : false);
}
/*--------------------------------------------------------------*/
/* Function for Display Recent product Added
/*--------------------------------------------------------------*/
function find_recent_product_added($limit){
global $db;
$sql = " SELECT p.id,p.name,p.sale_price,p.media_id,c.name AS categorie,";
$sql .= "m.file_name AS image FROM products p";
$sql .= " LEFT JOIN categories c ON c.id = p.categorie_id";
$sql .= " LEFT JOIN media m ON m.id = p.media_id";
$sql .= " ORDER BY p.id DESC LIMIT ".$db->escape((int)$limit);
return find_by_sql($sql);
}
/*--------------------------------------------------------------*/
/* Function for Find Highest saleing Product
/*--------------------------------------------------------------*/
function find_higest_saleing_product($limit){
global $db;
$sql = "SELECT p.name, COUNT(s.product_id) AS totalSold, SUM(s.qty) AS totalQty";
$sql .= " FROM sales s";
$sql .= " LEFT JOIN products p ON p.id = s.product_id ";
$sql .= " GROUP BY s.product_id";
$sql .= " ORDER BY SUM(s.qty) DESC LIMIT ".$db->escape((int)$limit);
return $db->query($sql);
}
/*--------------------------------------------------------------*/
/* Function for find all sales
/*--------------------------------------------------------------*/
function find_all_sale(){
global $db;
$sql = "SELECT s.id,s.qty,s.price,s.date,p.name";
$sql .= " FROM sales s";
$sql .= " LEFT JOIN products p ON s.product_id = p.id";
$sql .= " ORDER BY s.date DESC";
return find_by_sql($sql);
}
/*--------------------------------------------------------------*/
/* Function for Display Recent sale
/*--------------------------------------------------------------*/
function find_recent_sale_added($limit){
global $db;
$sql = "SELECT s.id,s.qty,s.price,s.date,p.name";
$sql .= " FROM sales s";
$sql .= " LEFT JOIN products p ON s.product_id = p.id";
$sql .= " ORDER BY s.date DESC LIMIT ".$db->escape((int)$limit);
return find_by_sql($sql);
}
/*--------------------------------------------------------------*/
/* Function for Generate sales report by two dates
/*--------------------------------------------------------------*/
function find_sale_by_dates($start_date,$end_date){
global $db;
$start_date = date("Y-m-d", strtotime($start_date));
$end_date = date("Y-m-d", strtotime($end_date));
$sql = "SELECT s.date, p.name,p.sale_price,p.buy_price,";
$sql .= "COUNT(s.product_id) AS total_records,";
$sql .= "SUM(s.qty) AS total_sales,";
$sql .= "SUM(p.sale_price * s.qty) AS total_saleing_price,";
$sql .= "SUM(p.buy_price * s.qty) AS total_buying_price ";
$sql .= "FROM sales s ";
$sql .= "LEFT JOIN products p ON s.product_id = p.id";
$sql .= " WHERE s.date BETWEEN '{$start_date}' AND '{$end_date}'";
$sql .= " GROUP BY DATE(s.date),p.name";
$sql .= " ORDER BY DATE(s.date) DESC";
return $db->query($sql);
}
/*--------------------------------------------------------------*/
/* Function for Generate Daily sales report
/*--------------------------------------------------------------*/
function dailySales($year,$month){
global $db;
$sql = "SELECT s.qty,";
$sql .= " DATE_FORMAT(s.date, '%Y-%m-%e') AS date,p.name,";
$sql .= "SUM(p.sale_price * s.qty) AS total_saleing_price";
$sql .= " FROM sales s";
$sql .= " LEFT JOIN products p ON s.product_id = p.id";
$sql .= " WHERE DATE_FORMAT(s.date, '%Y-%m' ) = '{$year}-{$month}'";
$sql .= " GROUP BY DATE_FORMAT( s.date, '%e' ),s.product_id";
return find_by_sql($sql);
}
/*--------------------------------------------------------------*/
/* Function for Generate Monthly sales report
/*--------------------------------------------------------------*/
function monthlySales($year){
global $db;
$sql = "SELECT s.qty,";
$sql .= " DATE_FORMAT(s.date, '%Y-%m-%e') AS date,p.name,";
$sql .= "SUM(p.sale_price * s.qty) AS total_saleing_price";
$sql .= " FROM sales s";
$sql .= " LEFT JOIN products p ON s.product_id = p.id";
$sql .= " WHERE DATE_FORMAT(s.date, '%Y' ) = '{$year}'";
$sql .= " GROUP BY DATE_FORMAT( s.date, '%c' ),s.product_id";
$sql .= " ORDER BY date_format(s.date, '%c' ) ASC";
return find_by_sql($sql);
}
?>satış ekleme sayfası
veri tabani

yardımcı olabilir misiniz teşekkürler