• 04-10-2021, 15:43:33
    #1
    Merhabalar aşağıdaki koda
    2 tane tabloda birleştirmek istiyorum ama bir türlü yapamadım

    users.id=araba.brand.id birisi


    <?php
    include 'config/db-config.php';
    global $connection;
    
    if($_REQUEST['action'] == 'fetch_users'){
    
        $requestData = $_REQUEST;
        $start = $_REQUEST['start'];
    
        $initial_date = $_REQUEST['initial_date'];
        $final_date = $_REQUEST['final_date'];
        $gender = $_REQUEST['gender'];
    
        if(!empty($initial_date) && !empty($final_date)){
            $date_range = " AND created_at BETWEEN '".$initial_date."' AND '".$final_date."' ";
        }else{
            $date_range = "";
        }
    
        if($gender != ''){
            $gender = " AND gender = '$gender' ";
        }
    
        $columns = ' id, first_name, last_name, email, gender, date_of_birth, created_at ';
        $table = ' users ';
        $where = " WHERE first_name!='' ".$date_range.$gender;
    
        $columns_order = array(
            0 => 'id',
            1 => 'first_name',
            2 => 'last_name',
            3 => 'email',
            4 => 'gender',
            5 => 'date_of_birth',
            6 => 'created_at'
        );
    
        $sql = "SELECT ".$columns." FROM ".$table." ".$where;
    
        $result = mysqli_query($connection, $sql);
        $totalData = mysqli_num_rows($result);
        $totalFiltered = $totalData;
    
        if( !empty($requestData['search']['value']) ) {
            $sql.=" AND ( first_name LIKE '%".$requestData['search']['value']."%' ";
            $sql.=" OR last_name LIKE '%".$requestData['search']['value']."%'";
            $sql.=" OR email LIKE '%".$requestData['search']['value']."%'";
            $sql.=" OR gender LIKE '".$requestData['search']['value']."'";
            $sql.=" OR date_of_birth LIKE '%".$requestData['search']['value']."%'";
            $sql.=" OR created_at LIKE '%".$requestData['search']['value']."%' )";
        }
    
        $result = mysqli_query($connection, $sql);
        $totalData = mysqli_num_rows($result);
        $totalFiltered = $totalData;
    
        $sql .= " ORDER BY ". $columns_order[$requestData['order'][0]['column']]."   ".$requestData['order'][0]['dir'];
    
        if($requestData['length'] != "-1"){
            $sql .= " LIMIT ".$requestData['start']." ,".$requestData['length'];
        }
    
        $result = mysqli_query($connection, $sql);
        $data = array();
        $counter = $start;
    
        $count = $start;
        while($row = mysqli_fetch_array($result)){
            $count++;
            $nestedData = array();
    
            $nestedData['counter'] = $count;
    
            $nestedData['last_name'] = $row["last_name"];
            $nestedData['first_name'] = $row["first_name"];
    
            $nestedData['email'] = '<a href="mailto:'.strtolower($row["email"]).'">'.strtolower($row["email"]).'</a>';
    
            $nestedData['date_of_birth'] = $row["date_of_birth"];
            $nestedData['gender'] = $row["gender"];
    
            $time = strtotime($row["created_at"]);
            $nestedData['created_at'] = date('h:i:s A - d M, Y', $time);
    
            $data[] = $nestedData;
        }
    
        $json_data = array(
            "draw"            => intval( $requestData['draw'] ),
            "recordsTotal"    => intval( $totalData),
            "recordsFiltered" => intval( $totalFiltered ),
            "records"         => $data
        );
    
        echo json_encode($json_data);
    }
    
    ?>
  • 05-10-2021, 14:42:38
    #2
    datatable için veri hazırlayorsunuz da
    iki tablo arasında ortak sutun nedir?
    araba.brand.id diye bişey olursa araba db sinde brand tablosu id sutunu olur