2013-04-19 2 views
0

Проблема, с которой я столкнулся, у меня есть список событий, которые будут часто меняться и должны обновлять их в моем мобильном списке Kendo UI при каждом открытии. В этом формате существует таблица SQL.Преобразование SQL в Kendo UI Listview

Item  Type    Description 

eventID  Integer (Unique) A unique ID for the event 
name  String (30chars) The name of the event 
time  Time Date   A DTG of the event 
category String(enum values) Category for initial disambiguation 
subcategory String(enum values) Further disambiguation category 
description String (100chars) The description that appears for the event. 
locationID Integer(Referenced) A unique ID for the location of the event. 
pictureID Integer(Referenced) A ID for the picture file of the event. 

мне нужно, чтобы превратить эту базу данных SQL в Listview, так что я сделал PHP запрос, как я думал, что это лучший подход. Оттуда я сделал функцию в файле сценария, который использует этот файл php в качестве источника данных. Затем я попытался связать его с списком и не удался эпически.

Вопрос, откуда я могу перейти отсюда?/Может ли кто-нибудь показать мне, что случилось?/Что мне не хватает? BTW Im, совершенно новый для кодирования, и это, безусловно, самая сложная вещь, которую я попытался, поэтому, пожалуйста, извините массовые шумопоглощения, если они существуют. Код для всех 3-х вещей можно найти ниже:

PHP SCRIPT

<?php 
    $con = mysql_connect("mysql://serverlURL","USERNAME","PASSWORD"); 
    if (!$con){ die('Could not connect: '.mysqlerror()); } 

    mysql_select_db("DBNAME", $con); 
    $q = mysql_query("Select * from events;"); 
    $res = json_encode(mysql_fetch_assoc($q)); 
    echo $res; 

    mysql_close($con); 
?> 

то у меня есть это мои main.js:

JavaScript Файл

function dataInit(){ 
    var eventdata = new kendo.data.Datasource({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "/SQLRequests/getevents.php", 
     endlessScroll: true, 
     dataType: "json", 
     success: function (data) { 
      $("#flat-listview").kendoMobileListView({ 
       dataSource: data.d, 
       template: $("#ListViewTemplate").html() 
       }); 
      } 
     }) 
    } 

моя страница, то инициирует скрипт в заголовке, а также имеет элемент listview.

HTML Page

<div data-role="view" data-title="Events" data-style="inset" data-init="datainit"> 
    <header data-role="header" data-id="default-header"> 
     <div data-role="navbar"> 
      <a class="nav-button" data-align="left" data-role="backbutton">Back</a>    
      <span data-role="view-title"></span> 
     </div> 
    </header>  
    <ul id="eventfeed"></ul>    
</div> 

ответ

0

Вопрос заключается в том, что вы перепутали метод JQuery Ajax и DataSource. Вот пример скрипта о том, как использовать источник данных, чтобы делать то, что вы хотите: http://jsfiddle.net/whizkid747/rDESU/

В этом примере я использую службу эха jsFiddle для возврата данных, отправленных по URL-адресу. Для вас вам просто нужно предоставить свой url и сделать «Get».

Что-то вроде этого:

var dataSource = new kendo.data.DataSource({ 

    transport: { 
     read: { 

      url: "/SQLRequests/getevents.php", 
      dataType: "json", 
      type: "GET",    
     } 
    } 
}); 
+0

Спасибо за помощь, я теперь получаю источник данных, чтобы правильно читать, однако интерпретировать это проблема. –

+0

Полезно знать, что это сработало для вас. Я исправил первую строку ответа как «смешанную», а не пропущенную. – Whizkid747