2017-01-05 3 views
-2

Я пытаюсь научиться использовать javascript (с jQuery или без него) на странице HTML на том же сервере, что и php-класс , чтобы инициализировать класс PHP, затем вызовите его метод getLinks() и передайте его возвращаемый массив ссылок в массив Java-скриптов.Создайте класс PHP, вызовите метод и получите возвращаемый массив в HTML-страницу с javascript

Я надеялся, что это может быть сделано без какого-либо php-кода на индексной странице.

Я видел несколько примеров, в том числе этот замечательный Here, но, похоже, он не касается некоторых подробностей, таких как;

1) Как я могу написать включение на странице без php? 2) Как мне создать экземпляр класса php и вызвать конкретный метод? 2) Я могу создать хелпер-файл PHP для создания экземпляров, но тогда мне все равно нужно будет вызвать метод, как это сделать? 3) Как я могу использовать jQuery для создания запроса GET и вызова функции из запроса?

Если это не может быть сделано без добавления кода PHP в индексной страницы, пожалуйста, дайте мне знать это

Мой PHP код:

<?php 
//class.links.php 
include "db_config.php"; 

class Links{ 

    public $db; 
    public function __construct(){ 

    $this->db = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE); 

    if(mysqli_connect_errno()){ 

     echo "Error: Could not connect to the database."; 
     exit; 

    } 

} 


public function getLinks(){ 

    $sql = "SELECT link_name FROM links"; 

    $rows = mysqli_query($this->db, $sql) or die(mysqli_connect_errno()."Data can not be inserted."); 
    $links = array(); 

    if($rows->num_rows < 1){ 

     return false; 

    }else{ 

     while ($row=mysqli_fetch_row($rows)){ 

       $links[] = $row[0];  

      } 

     return $links; 
     }  
    } 

} 

?> 

HTML код:

<html> 
<head> 
<title>Home Page</title> 
<link type="text/css" rel="stylesheet" href="engineering.css"> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script> 

<script src="scriptfile.js"> 
</script> 

</head> 
<body> 

<div name ="test_spot" id ="test_spot" width="200" height="400"></div> 

<script type = "text/javascript"> 
function getOutput(){ 



} 
</script> 
<button onClick="getOutput()" style="height: 60px; width:100px;" >Test</button> 

</body> 
</html> 

Пожалуйста, покажите мне скрипт, который принадлежит методу getOutput(), чтобы поместить массив в th e test_spot div.

Благодаря

+0

Извините downvoters, я пробовал всевозможные примеры javascript-ajax и javascript-jquery, и они просто не помогли бы в моей ситуации. Я думал, что лучше оставить пустой скрипт и позволить кому-то помочь мне. – Miek

ответ

1

Сначала создайте PHP-файл (который является общедоступным) на вашем сервере. Он должен выводить любой массив/whatnot, который вы хотите использовать в своем интерфейсе. Что-то вроде:

// link-getter.php 
include class.links.php 
$links = new Links(); 
echo json_encode($links->getLinks()); 

Затем используйте могущественную jQuery, чтобы отобразить результаты:

function getOutput(){ 
    $.get("/path/to/link-getter.php", function(data) { 
     // optional: process data object 
     $("#test_spot").html(data); 
    }); 
} 

Это может потребоваться некоторые настройки в веб-интерфейсе. Вы можете манипулировать объектом данных в соответствии с вашими пожеланиями. Техника загрузки контента с помощью Javascript известна как Ajax.

Обратите внимание, что это всего лишь код прототипа. Нет обработки ошибок, нет безопасности, нет ничего.

+1

Спасибо за помощь. Оно работает. Мои извинения. Сценарий сервера не мой сильный костюм. – Miek

Смежные вопросы