Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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 传递下拉选择的分类数据以提交操作和搜索_Php_Html_Wordpress_Function - Fatal编程技术网

Php 传递下拉选择的分类数据以提交操作和搜索

Php 传递下拉选择的分类数据以提交操作和搜索,php,html,wordpress,function,Php,Html,Wordpress,Function,我知道有很多问题都在问同样的问题,但当涉及到函数时,我就不知所措了。 我正在使用wordpress functions.php中存储的php函数,我可以从模板中调用该函数,以便在下拉列表中获取分类法中存储的所有数据 function custom_taxonomy_dropdown( $taxonomy, $exclude = array(''), $name, $show_option_all = null ) { $args = array( 'exclude' => $e

我知道有很多问题都在问同样的问题,但当涉及到函数时,我就不知所措了。 我正在使用wordpress functions.php中存储的php函数,我可以从模板中调用该函数,以便在下拉列表中获取分类法中存储的所有数据

function custom_taxonomy_dropdown( $taxonomy, $exclude = array(''), $name,
 $show_option_all = null ) 
{
$args = array(
    'exclude' => $exclude,
    'order' => $order,
    'hide_empty' => 1,
    'order' => 'ASC',
    'echo' => 1
);
$terms = get_terms( $taxonomy, $args );
$name = ( $name ) ? $name : $taxonomy;
if ( $terms ) {
  printf( '<select name="%s" class="postform">', esc_attr( $name ) );
  if ( $show_option_all ) {
    printf( '<option value="0">%s</option>', esc_html( $show_option_all ) );
  }
  foreach ( $terms as $term ) {
    printf( '<option value="%s">%s</option>', esc_attr( $term->slug ), 
esc_html( $term-    >name )     );
    }
    print( '</select>' );
    }
}
因此,我得到了一些非常有选择性的下拉列表,其中包含了所有的分类信息。但是,如何将每个下拉列表中选定的数据传递给submit操作,从而单击submit按钮并在my Haven done search.php中获得正确的结果

<form action="<?php echo home_url('/'); ?>" method="get" class="">
<input type="submit" value="Submit">
</form>
编辑:所以,通过执行最后一步,我不知道下一步是否是
query\u posts($query\u string)
,但无论如何,这对我没有帮助。也许我在这里搞糊涂了。即使当我回应
$query\u string
时,查询还是不同的,它甚至显示了其中的页面名。所以,虽然这是最好的方法,但我决定不再深入,因为我在这个问题上浪费了很多时间。因此,我采用了简单的方法,决定将通过
isset($\u GET[“taxonomy”]
获得的变量值传递到
$args
并查询它。结果如下:

$category_ID = get_category_id(''.$category_get); // Calling function
$idioma_ID = get_tag_id(''.$idioma_get); // to get ID's by name
$args = array(
'cat' => ''.$category_ID.'',
'category_name' => ''.$category_get.'',
'tag' => ''.$idioma_get.'',
'tag_in' => ''.$idioma_ID.'',
'director' => ''.$director_get.'',
'escritor' => ''.$escritor_get.'',
'actor' => ''.$actor_get.'',
);
我之所以包括cat和category_名称是因为这两个词,所以它就像一个补丁。
'Select All'
选项值不能为0,因为它将强制所有下拉列表不保留在Select All选项上,而是选择不同的数据。在我的例子中,它的值不是0,它只是:
'

所以,对于未来的引用,这是我已经解决的问题。我的解决方案不使用查询字符串,而是使用由代码> $$GET获得的值,这是我不能完全考虑的。在这个问题中唯一的答案帮助我解决这个问题,但是它没有帮助我把变量传递给查询,所以我想我不能选择一个。此处回答正确或完整。如果其他人发布如何将正确数据传递到
$query\u string
,这将是正确答案。

如果我理解您的问题,您想知道如何读取
search.php
文件中的选定值

首先,表单操作应该是
action=“path\u to\u searchphp/search.php”

然后在
search.php
中,您可以通过访问
$\u GET[$name]
来检索所选的值。此变量的值将是HTML表单中的
值。从中可以看出选择了哪部电影等

想象一下你的HTML是

<form action="search.php" method="GET" class="">
  <select name="film">
    <option value="0">Film 1</option>
    <option value="1">Film 2</option>
    <option value="2">Film 3</option>
    <option value="3">Film 4</option>
  </select>
  <input type="submit" value="Submit">
</form>

每个下拉列表都需要是
输入
,选择
选项
,然后给出
$category_ID = get_category_id(''.$category_get); // Calling function
$idioma_ID = get_tag_id(''.$idioma_get); // to get ID's by name
$args = array(
'cat' => ''.$category_ID.'',
'category_name' => ''.$category_get.'',
'tag' => ''.$idioma_get.'',
'tag_in' => ''.$idioma_ID.'',
'director' => ''.$director_get.'',
'escritor' => ''.$escritor_get.'',
'actor' => ''.$actor_get.'',
);
<form action="search.php" method="GET" class="">
  <select name="film">
    <option value="0">Film 1</option>
    <option value="1">Film 2</option>
    <option value="2">Film 3</option>
    <option value="3">Film 4</option>
  </select>
  <input type="submit" value="Submit">
</form>
if(isset($_GET["film"]))
{
  $value = $_GET["film"];

  // do $value validation
  // do something with $value
}