2012-08-02 102 views
0

这可能很容易做,但我甚至不知道如何制定我的搜索引擎问题(谷歌| stackoverflow)。

我想创建一个基于数据库的数据的HTML表单。
我的问题:
我有表,这些列:MySQL选择困难

  1. ID
  2. 文件
  3. 语言
  4. 等...

填充数据(例如):

//no <table> here 
//only **file** column is really important for my select (that I am asking for) 

id | file   | lanugage  | etc 
==================================================================== 
1 |about.php   | english  | something 
2 |conta.php   | english  | something 
3 |mysql.php   | hungar  | something 
4 |mysql.php   | english  | something 
5 |mysql.php   | french  | something 
6 |blog.php   | french  | something 

后我要求阵列的选择应该是这样的

0 => about.php, 1 => conta.php, 2 => mysql.php, 3 => blog.php 



SOLUTION
我一直在寻找的SELECT

不同选项选择t1.file为Files从表t1作为由文件组

以及这是很快:)谢谢

+2

向我们显示您当前的PHP/MySQL代码,我们无法猜出它。 – Jocelyn 2012-08-02 15:09:49

+0

没有:)我只是试图“创造”选择没有别的。如果你喜欢'$ query = $ this-> db-> query('SELECT file' – Kyslik 2012-08-02 15:11:40

+0

我同意@Jocelyn,如果你担心安全问题,你可以随时替换名称/标签(只要你知道差异) – mason81 2012-08-02 15:12:15

回答

1

这听起来像你想

SELECT distinct(file) FROM mytable; 

然后用

mysql_fetch_array()

类似的东西:

$result=mysql_query("SELECT distinct(file) FROM mytable"); 
$arr=array(); 
while($row = mysql_fetch_array($result)){ 
    $arr[] = $row[0]; 
} 
+0

谢谢:) **不同的**是我一直在寻找的其他东西是“明显的”。 – Kyslik 2012-08-02 15:22:41

1

听起来就像你试图从这个表中获取文件的唯一(不同的)值?

要做到这一点,你可以使用下面的查询

SELECT DISTINCT file from table_name 
1
SELECT t1.file as `Files` from table as t1 group by Files 

这个查询是非常简单的,你应该学会使用SQL。

+0

有效答案,是不是很明显更易于使用? – Kyslik 2012-08-02 15:25:05

+0

@Kyslik看看这个:http://stackoverflow.com/a/426899/1013526 – mason81 2012-08-03 21:03:07

1

试试这个:

$dbc = mysql_connect(SERVER, USERNAME, PASSWORD); 
mysql_select_db($dbc, DATABASE); 

$query = "SELECT DISTINCT `file` FROM `myTable`"; 
$result = mysql_query($dbc, $query); 
1

它看起来只是想从'文件'列中拉出所有值,并将它们放在一个数组中。试试这个:

// define your database connection in the 
// $SERVER, $USERNAME, $PASSWORD, and $DATABSE variables 

$link = mysql_connect($SERVER, $USERNAME, $PASSWORD); 
mysql_select_db($link , $DATABASE); 

// I don't know what you're table name is, so put it in place of 'myTable' 
$sql= "SELECT file FROM `myTable` GROUP BY file"; 
$result = mysql_query($link, $sql); 

这会抢在表中的所有行只有“文件”栏,那么你就需要遍历他们得到的结果到一个数组:

$files_array = array(); 
while($result && $row = mysql_fetch_assoc($result)){ 
    $files_array[] = $row['file']; 
} 

这应该输出你正在寻找的结果数组。