2016-03-31 5 views
0

私はデータベースへのPHPクエリを単に行っていて、それは奇妙なオブジェクトで応答します、私はここで何を求めたのか分かりません。私はjsでコードする方法を知っていますが、私はPHPで新しいです。奇妙なデータベースの反応

応答:

のindex.php

<!DOCTYPE html> 
<html> 

    <head> 
     <script type='text/javascript'> 
      function spytajBazy(request) 
      { 
       var wynik = $.ajax({ 
        type: "post", 
        url: "ajax_requests.php", 
        data: {request: request}, 
        success: function (result) { 
         return result; 
        } 
       }); 

     var array = $.map(wynik, function(value, index) { 
      return [value]; 
     }); 
       return array; 
      } 
     </script> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
     <title>Admin check</title> 
     <meta charset="UTF-8"> 
    </head> 
    <body> 
     <script type='text/javascript'> 
     var wynik = spytajBazy("sprawdz_ile_grup"); 
     var array = jQuery.makeArray(wynik); 
     console.log(wynik); 
     </script> 

のfunctions.php

<?php 

class Functions 
{ 
    private $db; 

    public function __construct(Database $db) 
    { 
     $this->db = $db; 
    } 

    public function sprawdz_ile_grup() 
    { 
     $query = "SELECT * FROM `groups`"; 
     $result = $this->db->dataQuery($query); 
     return $result->fetchAll(); 
    } 

    public function insert_something() 
    { 
     $query = "INSERT INTO `myDB`.`groups` (`id` ,`nazwa` ,`data_utworzenia`)VALUES ('5', 'randomsecond', '2016-05-18');"; 
     $result = $this->db->dataQuery($query); 
     return $true; 
    } 
} 

database.phpで

http://imgur.com/rLeeoLI

ここでコードがあります

ajax_requests.phpは

<?php 
if (!empty($_POST)) { 

    $method = $_POST['request']; 

    include 'Database.php'; 
    include 'Functions.php'; 

    $db = new Database(); 
    $functions = new Functions($db); 

    if (method_exists($functions, $method)) { 
     $data = $functions->$method(); 
     header('Content-Type: application/json'); 
     echo json_encode($data); 
    } 
} 
?> 

答えて

0

本当にあなたのPHPコードは、そのようなJavaScriptの関数を返すことができますする方法はありません。私はエラーがあなたのJavaScriptコードにあると思う。

var wynik = $.ajax({ //... 

なぜあなたはwynik変数を設定していますか?私はあなたが見ているコンソールログは$ .ajax関数だと思います。あなたがこれにその行を変更した場合、それが動作Iを賭け:

$.ajax({ //... 
+0

私は限り、はい結果 – stevenhawkingsbiggestfan

+0

を返すために、しかし、今、あなたの変数twice.Moreoverを代入している...今起こっていただきまし機能を必要とします私が言うことができるように、あなたのAjaxリクエストが完了すると、それは結果を返す無名関数を呼び出します...しかし、あなたのアプリケーションはリクエストが完了したことをどのように知っていますか? – brense

+0

'success:function(result){}'に 'result'を記録すると、実際に動作していることがわかります – brense