2017-01-05 56 views
-2

我想学习如何在HTML页面中使用JavaScript(有或没有的jQuery)在同一台服务器上的PHP类获得返回数组转换成HTML页面,初始化PHP类,然后调用其getLinks()方法并将其返回的链接数组传递给java脚本数组。实例化一个PHP类,调用方法并用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()方法属于脚本中日阵列置于e test_spot div。

感谢

+0

对不起downvoters,我尝试了各种各样的javascript-ajax和javascript-jquery的例子,他们只是不适合我的情况。我认为最好将脚本标记留空并让别人帮助我。 – Miek

回答

1

首先在服务器上创建一个PHP文件(这是公开访问)。它应该输出任何你想在你的前端使用的数组/数组。喜欢的东西:

// 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

相关问题