2011-08-03 209 views
9

我想知道是否有任何PHP代碼,模塊,插件可以讓我建立自己的MySQL查詢。例如。 phpMyAdmin使用的查詢生成器可讓您使用下拉菜單進行查詢。PHP MySQL查詢構建器

它必須是一個建設者,將在網站上,而不是軟件或應用程序!

必須是用戶友好的!視覺等

+0

視覺或incode? –

+0

可視化,因此對於想要查找內容的用戶很容易看到:例如我想知道有多少人買了香蕉 – sqlmole

+0

你應該把它寫入你的問題。這聽起來像是你想讓你作爲一個開發者,而不是一個供公衆使用的人。 – Jacob

回答

1

我不知道有這樣的,但你可以只使用phpMyAdmin和複製生成的查詢?

+0

是的,但那麼這將是固定的,並且對於想要不同查詢的用戶不是動態的 – sqlmole

+0

如果您的程序的許可證與GPL兼容,則可以複製來自phpMyAdmin的許可證。 – Jacob

0

@sqlmole,有沒有這樣的工具,可以讓你建立一個查詢,如有多少人購買香蕉。你將不得不開發這樣一個系統。但是,除了PHPMyAdmin之外,MySQL本身的MySQL GUI工具和WebYog都是我知道的一些工具,它們可以幫助您以可視方式創建查詢。我也很樂意看到替代品。

+0

它需要在網站上 – sqlmole

4

當你說 「必須在網站上」,你所要求的Javascript/jQuery和不是PHP

你要這個::

http://plugins.jquery.com/project/SQL_QUERY_BUILDER

演示上面 http://ksistem.com/jquery/sqlbuilderdemo.htm

在該頁面的iframe類型的東西中,向下滾動以查看菜單以構建新的查詢。


或本(更詳細)

http://aspquerybuilder.net/default.aspx


,這也可能有助於::

http://sourceforge.net/projects/myquerybuilder/

+0

當我的系統使用PHP和Codeigniter框架構建時,爲什麼要使用ASP? – sqlmole

+1

@sqlmole ASP用於將來的參考,另外兩個,jquery one和myquerybuilder將與PHP和codeigniter框架一起工作,並且由於它的Javascript/Jquery,它幾乎可以與其他任何東西一起工作。 – Pheonix

+0

ASP產品真的很不錯,+1。 –

2

請嘗試以下工具。這些做PhpMyAdmin的同樣的工作,但不能保證他們會滿足你的口味。

1.Adminer(原phpMinAdmin) PHP編寫的全功能的MySQL管理工具。然而,是否或多或少一切phpMyAdmin的由單個文件的僅僅是準備上傳到你的服務器,並連接到數據庫。

2.Navicat 這,在我看來,是最好的MySQL客戶端在那裏。它通過非常友好的用戶界面完成您想要的任何事情。但是,它不是免費的。有一個小的價格標籤,但是非常值得!

3.Sequel臨 一個用於Mac用戶。

4.SQLWave

5.SQLyog

6。BlueSQL


免費的基於Web的數據庫管理工具。

7.SQL好友

9.DBDesigner 4

10.SQLGate

11.HeidiSQL

這是你想要的嗎?

+0

Adminer非常棒!正是我在找什麼。具有構建自定義查詢功能的GUI工具。沒有設置或配置麻煩。全部在一個PHP文件中! –

0

我猜你可能想看看SQLBuilder https://github.com/c9s/SQLBuilder

這是MIT許可,它可以產生跨平臺的SQL查詢你(大部分):

use SQLBuilder\Universal\Query\SelectQuery; 
use SQLBuilder\Driver\MySQLDriver; 
use SQLBuilder\Driver\PgSQLDriver; 
use SQLBuilder\Driver\SQLiteDriver; 

$mysql = new MySQLDriver; 
$args = new ArgumentArray; 

$query = new SelectQuery; 
$query->select(array('id', 'name', 'phone', 'address','confirmed')) 
    ->from('users', 'u') 
    ->partitions('u1', 'u2', 'u3') 
    ->where() 
     ->is('confirmed', true) 
     ->in('id', [1,2,3]) 
    ; 
$query 
    ->join('posts') 
     ->as('p') 
     ->on('p.user_id = u.id') 
    ; 
$query 
    ->orderBy('rand()') 
    ->orderBy('id', 'DESC') 
    ; 

$sql = $query->toSql($mysql, $args); 

var_dump($sql); 
var_dump($args);