1

組織のリストを自分のWebサイトのドロップダウンリストに入力しています。このPHPは簡単で、問題はありませんでした。

ただし、リストは非常に膨大になる可能性があるため、リストを3つのアルファベット順のセクションに分割したいと思います。(AG、HS、TZなど)。以下のコードを変更して、最初のドロップダウンリストをAGで並べ替えることができるようにするにはどうすればよいですか(他の2つにも同じロジックを適用できます)。

   $sql = pg_query("SELECT name FROM institution ORDER BY name ASC");                                                                 
   while($row = pg_fetch_array($sql)){
      echo "<option value=\"organisation1\">" .$row ['name'] . "</option>";
   }
4

5 に答える 5

1

エンドユーザーが組織の名前を知っている可能性が高い場合は、検索ボックスと、入力した文字に基づいて入力するJSを使用する方がよい場合があります。

それ以外の場合は、アルファベット順ではなく論理的な内訳でリストを分割するために、追加の初期ドロップダウンリストが必要になる場合があります(国、都市、部門など)。

于 2013-02-26T10:56:09.130 に答える
0

これはAGとHSのトリックを行う必要があります

    $AG = $HS = '';
$sql = pg_query("SELECT name FROM institution ORDER BY name ASC");                                                                 
while($row = pg_fetch_array($sql)){
    $char =chr(strtoupper(substr($row ['name'],0,1)));
    if($char<=71){
        $AG .= "<option value=\"organisation1\">" .$row ['name'] . "</option>";
    }
   if(($char>71) && ($char <= 83)){
         $HS .= "<option value=\"organisation1\">" .$row ['name'] . "</option>";
    }
   }
   echo $AG.$HS;

chrを使用して、最初の文字のASCII値を取得します。サブセクションに文字列を追加するための条件を作成します。ここでASCII値を調べることができます:
http ://www.asciitable.com/

于 2013-02-26T10:53:14.180 に答える
0
$cityarray = array('axx', 'bxx','txx');

$group1 = array('a','b','c','d','e','f');
$group2  = 'construct array with the require alphapet';
$group3  = 'construct array with the require alphapet';


foreach (cityarray as $city) {
 if (in_array($city[0], group1)) {
   $group1[] = $city 
 } else if (in_array($city[0], group2) {
   $group2[] = $city 
 }  else if (in_array($city[0], group3) {
   $group3[] = $city 
} 

}

//上記の3つの配列を使用してドロップダウンを作成します

于 2013-02-26T10:59:09.737 に答える
0

phpやpostgresqlの人ではありませんが、必要なのは単純なプログラミングロジックです。単純なアルゴで十分です。

step1. run a loop through the array to fill dropdowns.

step2. place appropriate conditions inside the loop to fill all the three dropdowns appropriately.

このコードを参照してください。アルゴをサポートします。あなたの言語のためにそれを少しトリミングする必要があるかもしれません

 $sql = pg_query("SELECT name FROM institution ORDER BY name ASC");

   $ddlClass='.dropdown1';                                                                 

   while($row = pg_fetch_array($sql)){
         $char = chr(strtoupper(substr($row ['name'],0,1)));

         if($char>=65 && $char<=71);
            $ddlClass=  '.dropdown1';

         else if($char>=72 && $char<=83);
           $ddlClass=  '.dropdown2';

         else if ($char>=83 && $char <=90)
            $ddlClass=  '.dropdown3';
         $($ddlClass).append("<option value=\"organisation1\">" .$row ['name'] . "</option>");
 }

ドロップダウンを作成するためにjqueryを使用しましたが、javascript、phpなど他のものを使用して作成できます。

于 2013-02-26T11:09:18.830 に答える
0
$sql = pg_query("
    select name
    from institution
    where name < 'H'
    order by name asc
");

$sql = pg_query("
    select name
    from institution
    where name >= 'H' and  name < 'T'
    order by name asc
");

$sql = pg_query("
    select name
    from institution
    where name >= 'T'
    order by name asc
");
于 2013-02-26T11:30:03.817 に答える