0

一意の用紙が入力ボックスの値の設定値を示しているが、複数の用紙をカウントする場合(同じ2枚の用紙をカウントする場合)の用紙数は、リストボックスセットオプションの用紙を作成します。

Paper1-Paper3にはそれぞれ1つのTitle値しかないことに注意してください。Paper4-Paper5には3つの異なるTitle値があることに注意してください。Paper1〜Paper3のテキストボックスと、Paper4およびPaper5のリストボックスだけを表示したいと思います。

     mysql fetch record 
      **id       groupoptional        title**
      1           Paper1              Title1
      2           Paper2              Title2
      3           Paper3              Title3
      4           Paper4              Title4
      5           Paper4              Title5
      6           Paper4              Title6
      7           Paper5              Title7
      8           Paper5              Title8
      9           Paper5              Title9

いくつかの例:

   create html input 1 <input name="Paper1" type="text" value='1'> Title1
   create html input 2 <input name="Paper2" type="text" value='2'> Title2
   create html input 3 <input name="Paper3" type="text" value='3'> Title3

    create html listbox Paper4 -> <select name='paper4'>
                                  <option value="4">Title 4</option>
                                  <option value="5">Title 5</option>
                                  <option value="6">Title 6</option>
                                  </select>

     create html listbox Paper5 -> <select name='paper5'>
                                   <option value="7">Title 7</option>
                                   <option value="8">Title 8</option>
                                   <option value="9">Title 9</option>
                                   </select>
4

1 に答える 1

1

あなたが何を求めているのかを正確に理解するのは少し難しいですが、私はあなたがこのようなものが欲しいと思います:

$sql = "SELECT id, groupoptional, title FROM tableName";
$results = $db->query($sql);

$newArray = array();

foreach($results as $row)
{
    if(isset($newArray[$row["groupoptional"]]))
    {
        $newArray[$row["groupoptional"]][] = array("id" => $row["id"], "title" => $row["title"]);
    }
    else
    {
        $newArray[$row["groupoptional"]] = array(array("id" => $row["id"], "title" => $row["title"]));
    }
}

foreach($newArray as $key => $value)
{
    if(count($value) > 1)
    {
        echo "<select name='".$key."'>";
        foreach($value as $group)
        {
            echo "<option value='".$group["id"]."'>".$group["title"]."</option>";
        }
        echo "</select>";
    }
    else
    {
        echo "<input type='text' name='".$key."' value='".$value[0]["id"]."'> ".$value[0]["title"];
    }
}
于 2012-09-05T13:17:45.300 に答える