2016-03-31 17 views
0

Sadece veritabanı için php sorgusu yapıyorum ve garip nesne ile yanıt veriyor, burada ne istediğimi bulamıyorum. Js'de kod yazmayı biliyorum ama PHP'de yeniyim.Weird veritabanı yanıtı

Yanıt:

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; 
    } 
} 

DatabaseFunctions.php

: Burada

http://imgur.com/rLeeoLI kod

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); 
    } 
} 
?> 

cevap

0

gerçekten kodu php böyle javascript fonksiyonları geri dönebilirler hangi bir yolu yoktur. Hatanın javascript kodunuzda olduğunu düşünüyorum.

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

Neden wynik değişkenini orada ayarlıyorsunuz? Gördüğünüz konsol günlüğü $ .ajax işlevi olduğunu düşünüyorum. Bunu o çizgiyi değiştirirseniz çalışır bahis:

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

ben sonuca – stevenhawkingsbiggestfan

+0

Evet dönmek için işlev gerek ama şu anda size değişken twice.Moreover atıyorsanız ... şimdi oluyor whats, bildiğim kadarıyla anlatabildiğim gibi, ajax isteğiniz bittiğinde, sonucu döndüren bir anonim işlev çağırır ... Ancak, uygulamanız isteğin nasıl yapıldığını biliyor mu? – brense

+0

Eğer "sonuç" 'nı başarıya kaydettirirseniz: başarı: fonksiyon (sonuç) {}' gerçekte çalıştığını göreceksiniz – brense