Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为mysql创建函数_Php_Mysql_Html_Loops - Fatal编程技术网

Php 如何为mysql创建函数

Php 如何为mysql创建函数,php,mysql,html,loops,Php,Mysql,Html,Loops,MySQL HTML 问题: 如何为类别循环创建php函数?因此,在表单上,我只是通过cat_option()来调用它,假设目录中的元素数量足够小,结果将与HTML上的结果类似。您必须首先使用SQL查询获取所有元素 然后,您可以根据cat_group的值对这些元素进行排序。这样,类似类别的项目将被合并在一起。我假设您可以基于特定属性对对象集合应用排序 然后,您所需要做的就是遍历列表并根据需要创建新的optgroup。您可能希望使用DISTINCT查询首先获得不同类型的cat_组。然后循环创建您的

MySQL

HTML

问题:


如何为类别循环创建php函数?因此,在表单上,我只是通过
cat_option()
来调用它,假设目录中的元素数量足够小,结果将与
HTML

上的结果类似。您必须首先使用SQL查询获取所有元素

然后,您可以根据cat_group的值对这些元素进行排序。这样,类似类别的项目将被合并在一起。我假设您可以基于特定属性对对象集合应用排序


然后,您所需要做的就是遍历列表并根据需要创建新的optgroup。

您可能希望使用
DISTINCT
查询首先获得不同类型的
cat_组。然后循环创建您的
optgroup

您可以使用多维数组在一个查询中完成:

function cat_option()
{
  global $db;
}


我们不是为您构建它-您尝试过什么?$db是什么类型的对象?如何连接到数据库?没有optgroup是。我被困在了汉克斯·莫夫朱的小组里。如何将
foreach的动态数组(数组('Vehicles','Properties','Electronics')作为$label
获取,它从
cat_组中捕获
foreach($label=>opt)
只需使用
foreach($opts$label=>opt)
迭代所有键即可。
  <select id="category" name="category">
    <optgroup label="Vehicles">
        <option value="1">Cars</option>
        <option value="2">Motorcycles</option>
    </optgroup>
    <optgroup label="Properties">
        <option value="3">Houses</option>
        <option value="4">Apartments</option>
    </optgroup>
    <optgroup label="Electronics">
        <option value="5">Cameras</option>
        <option value="6">Gadgets</option>
    </optgroup>    
  </select>
function cat_option()
{
  global $db;
}
<?php

$opts = array();
# select all active categories
$qr = mysql_query('SELECT cat_id, cat_group, cat_name FROM categories WHERE cat_status = 1 ORDER BY cat_id ASC');
# go through all results
while ($qa = mysql_fetch_assoc($qr)) {
  $opts[$qa['cat_group']][$qa['cat_id']] = $qa['cat_name'];
  # e.g. $opts['Vehicles'][1] = 'Cars'
}

/*
# now your array looks like:
$opts = array(
  'Vehicles' => array(
    1 => 'Cars',
    2 => 'Motorcycles',
  ),
  'Properties' => array(
    3 => 'Houses',
    4 => 'Apartments',
  ),
  'Electronics' => array(
    5 => 'Cameras',
    6 => 'Gadgets',
  )
);
*/

?>
<!-- now output it -->
<select id="category" name="category">
<?php foreach (array('Vehicles', 'Properties', 'Electronics') as $label): ?>
  <optgroup label="<?php echo $label ?>">
  <?php foreach ($opts[$label] as $id => $name): ?>
      <option value="<?php echo $id ?>"><?php echo htmlspecialchars($name); ?></option>
  <?php endforeach; ?>
  </optgroup>
<?php endforeach; ?>
</select>
$opts[$qa['cat_group']][$qa['cat_id']] = $qa['cat_name'];