使用数据库中的文件设置文件树


Setting up a Filetree with Files from a Database

所以我不得不建立一个基于数据库的文件树,但我完全迷失了方向。

我尝试将其用作基本模型:http://labs.abeautifulsite.net/archived/phpFileTree/demo/demo_jquery.php

甚至用它作为某种教程:http://www.kensodev.com/2009/05/22/using-jquery-tree-for-database-data/

但我似乎无法忍受这一切。。。

我想做的是:我在数据库中有一些数据。所有这些数据中都有一些短语,其中有不同的短语A到G。我现在需要在短语A之后对其进行排序,然后在短语B之后对其进一步排序,最后应该看到所有具有相同短语C的数据(类似于某些文件夹和子文件夹)。

我也在div和table中尝试过,但假设它不起作用:D

现在,请有人告诉我,在天堂里,我必须把我的数据库服务器名称、PW等等和我的数据库"选择"放在上面的所有内容中,才能让这件事发挥作用。

如果我理解正确,你想要一个页面,当用户点击链接时,它会从数据库中获取一些数据,并使用AJAX/jQuery 显示警报

使用在根目录中添加一个PHP文件

<?php
//edit for your server/database
$username = "username";
$password = "password";
$hostname = "hostname";
$dbname = "database-name";
//to connect to the database
$db = new PDO('mysql:host='.$hostname.';dbname='.$dbname.';charset=utf8', $username, $password);
?>

这真的很简单,如果你需要对数据进行多次排序,那么你可能做错了什么,或者你可以尝试使用JOIN子句。

假设你想显示用户点击的链接(并从数据库中获取链接),你还可以在另一个php文件中添加一个php_file_tree函数,比如这个

<?php
if(isset($_GET['Phrase'])){
    $needle = $_GET['Phrase'];
}else{$needle = null;}
function php_file_tree($directory, $javascript){
//include previous file with connection details
global $needle, $db;
//I'm not sure what you are looking for in the database
$value = "value"
//could be ASC or DESC $needle or $value
$query = "SELECT table.Phrases FROM table WHERE Phrases = '{$needle}' ORDER BY A DESC;";
$sth = $db->prepare($query);
$sth->execute();
$data = $sth->fetchAll();
return $javascript = preg_replace('/'['[.*?']']/', 'link', $javascript);
}
//should give you the alert
echo php_file_tree($_SERVER['DOCUMENT_ROOT'], "javascript:alert('You clicked on [link]');");
?>

也将此添加到您的HTML页面

<script src="jquery.js" type="text/javascript"></script>
<script src="php_file_tree_jquery.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
    var fetchUrl = 'path-to-the-php-file-with-the-function'
    var fetchNeedle = $( "#link" ).html();
    $.get(fetchUrl.concat(fetchNeedle)).done(function(data) { Alert(data); });      
});
</script>

参考:http://deocasion.org/blog/ajax-dropdown/