2012-05-03 65 views
1

我有一个数组包含Facebook上的用户的朋友列表。动态排序和显示PHP数组

我必须显示该列表并在列表顶部提供一个文本字段,以输入任何他/她的朋友姓名的第一个字母。当用户在文本字段中输入一个字母时,程序应该只显示以输入的字母开头的名称,所有其他名称应该消失。

此外,名称应按字母顺序排序。

我该如何执行此任务?

+0

的方法有很多,可以将所有通过JavaScript这样做,或者你可以使用PHP这样做...或两个..的JavaScript + PHP(+ AJAX)。告诉我们更多,你尝试了什么? – miro

+0

你的意思是自动完成?你是否希望使用ajax来执行此操作?或纯粹的PHP? – sree

+0

无论您使用哪种语言,这都是REGEX的工作! – 2012-05-03 18:26:04

回答

1

首先,我不得不问的是你使用JavaScript或任何东西来过滤,或者它只是服务器端代码使用PHP?

除此之外,这里的步骤,我将如何做只是在PHP方面。

1)对所有用户的朋友的整个列表进行排序,以使整个数组有序。看看这个http://www.php.net/manual/en/function.sort.php

2)当用户输入他们的单个字母,你根本就必须:

  • 创建一个新的阵列通过你的大阵的各界朋友来存储用户的搜索
  • 循环的结果并将匹配插入到较小的阵列中
  • 显示小阵列,因为它已经按照已经排序的主列表进行排序。

    for ($i = 1; $i <= $masterFriendsList.length; $i++) { 
        if (substr($masterFriendsList[i],0,1)==$yourMatchValue){ 
         $filteredArray[]=$masterFriendsList[i]; 
        } 
    } 
    
+1

我试过了。但是,如何从该文本字段提取数据而不将其作为表单提交。当时,当用户在文本字段中输入字母时,程序应立即显示这些名称,而不必按任何按钮等。我认为您可以理解我的问题。如果没有,请阅读我的问题。谢谢:) – qurban

+1

你可以通过JavaScript将它通过一个onchange事件使用ajax发送到服务器端。当用户按下某个键时,onchange事件应该会触发,您可以将更新的文本字段数据发送到您的php代码。 – jeschafe

1

然而,你这样做,你可能会需要一些Ajax。除非你只是在客户端对列表进行排序和过滤。已经有一个名为Datatables的表格数据库会为你做这件事。