无法从<select>选项中检索值以发送到php

时间:2015-07-01 06:26:17

标签: php html mysql html-select

有人可以帮我解决以下问题,我似乎无法找出问题所在。 我有一个选择&#39;默认值为&#39; ---&#39;的选项然后其余选项将填充由其上方所选成员确定的标准。我已阅读所有PHP和Select问题或论坛,并尝试了所提供的所有解决方案,但没有一个解决方案能够帮助我从“选择”中检索价值。发送到另一个查询。 这是我的代码: &lt; form method =&#34; post&#34; action =&#34;&lt;?php echo htmlspecialchars($ _ SERVER [&#34; PHP_SELF&#34;]);?&gt;&#34; &GT; 如果需要,请选择一个从属: &lt; select name =&#34; DependantList&#34;&gt; &lt;! - 用于插入第一个选项的空白条目 - &gt;     &lt; option value =&#34; 1&#34;选定=&#34;选择&#34;&GT; ---&LT; /选项&GT;     &lt;! - 然后查询将插入所选成员的所有相关数字 - &gt;     &LT; PHP         $ sql =(&#34;从WEB_DEPENDANT中选择MEM_DEPNO         MEM_NO =&#39; $ selMember&#39;         AND MEM_DEPNO!= 0         按MEM_DEPNO排序&#34;);         $ result = $ dh-&gt; query($ sql)或die(&#34;错误:$ sql1&#34;);         $阵列= $ result-&GT;使用fetchall(PDO :: FETCH_ASSOC);         $计数=计数($阵列);         $ x = 0;         $ a = 2;         while($ x&lt; count($ array))         {             echo&#34;&lt; option value = $ a&gt;&#34;。$ array [$ x] [MEM_DEPNO]。&#34;&lt; / option&gt;&#34 ;;             $ x = $ x + 1;             $ a = $ a + 1;         }     ?&GT; &LT; /选择&GT; &LT; /形式&GT; 现在,我尝试从&#39;选择&#39;中检索数据。并显示其值,但它不显示任何内容: &LT; PHP     $ selectDependant = isset($ _ POST [&#39; DependantList&#39;]);     echo&#34;选择:&#34; 。 $ selectDependant ?&GT; 我想要检索所选的&#39; Dependent&#39; value然后将其发送到以下SQL以填充我的下一个网格: &lt; table width =&#34; 99%&#34;边界=&#34; 1&#34; CELLPADDING =&#34; 3&#34; BORDERCOLOR =&#34;#000000&#34;&GT; &LT; TR&GT;     &lt; th width =&#39; 97&#39;高度=&#34; 45&#34; BORDERCOLOR =&#34;#000000&#34;类=&#34; ParagraphHeader&#34;&GT;从属&LT峰; br /&GT;数&LT; /第&GT;     &lt; th width =&#39; 65&#39;高度=&#34; 45&#34; BORDERCOLOR =&#34;#000000&#34;类=&#34; ParagraphHeader&#34;&GT;性别和LT; /第&GT;     &lt; th width =&#39; 62&#39;高度=&#34; 45&#34; BORDERCOLOR =&#34;#000000&#34;类=&#34; ParagraphHeader&#34;&GT;缩写&LT; /第&GT;     &lt; th width =&#39; 120&#39;高度=&#34; 45&#34; BORDERCOLOR =&#34;#000000&#34; class =&#34; ParagraphHeader&#34;&gt;名字&lt; / th&gt;     &lt; th width =&#39; 165&#39;高度=&#34; 45&#34; BORDERCOLOR =&#34;#000000&#34;类=&#34; ParagraphHeader&#34;&GT;姓&LT; /第&GT;     &lt; th width =&#39; 101&#39;高度=&#34; 45&#34; BORDERCOLOR =&#34;#000000&#34; class =&#34; ParagraphHeader&#34;&gt; ID号&lt; / th&gt;     &lt; th width =&#39; 92&#39;高度=&#34; 45&#34; BORDERCOLOR =&#34;#000000&#34; class =&#34; ParagraphHeader&#34;&gt;注册日期&lt; / th&gt;     &lt; th width =&#39; 110&#39;高度=&#34; 45&#34; BORDERCOLOR =&#34;#000000&#34; class =&#34; ParagraphHeader&#34;&gt; Date resigned&lt; / th&gt; &LT; / TR&GT; &LT; PHP     $ sql =(&#34; SELECT * FROM WEB_DEPENDANT     MEM_NO =&#39; $ selMember&#39;     AND MEM_DEPNO =&#39; $ selDependant&#39;&#34;);     $ result = $ dh-&gt; query($ sql)或die(&#34;错误:$ sql1&#34;);     $阵列= $ result-&GT;使用fetchall(PDO :: FETCH_ASSOC);     $计数=计数($阵列);     echo&#34;会员:&#34; 。 $ selMember;     回声&#34;依赖:&#34; 。 $ selDependant;     如果($计数== 1)     {         echo&#34;&lt; tr&gt;             &lt; td width =&#39; 83&#39;身高=&#39; 25&#39;类=&#39; ParagraphDetail&#39; BORDERCOLOR =&#39;#000000&#39;&GT;&#34; $阵列[0] [MEM_DEPNO]&#34;&LT; / TD&GT;             &lt; td width =&#39; 63&#39;身高=&#39; 25&#39;类=&#39; ParagraphDetail&#39; BORDERCOLOR =&#39;#000000&#39;&GT;&#34; $阵列[0] [SEX_CODE]&#34;&LT; / TD&GT;             &lt; td width =&#39; 65&#39;身高=&#39; 25&#39;类=&#39; ParagraphDetail&#39; BORDERCOLOR =&#39;#000000&#39;&GT;&#34; $阵列[0] [MEM_INITIALS]&#34;&LT; / TD&GT;             &lt; td width =&#39; 134&#39;身高=&#39; 25&#39;类=&#39; ParagraphDetail&#39; BORDERCOLOR =&#39;#000000&#39;&GT;&#34; $阵列[0] [MEM_FIRSTNAME]&#34;&LT; / TD&GT;             &lt; td width =&#39; 182&#39;身高=&#39; 25&#39;类=&#39; ParagraphDetail&#39; BORDERCOLOR =&#39;#000000&#39;&GT;&#34; $阵列[0] [MEM_SURNAME]&#34;&LT; / TD&GT;             &lt; td width =&#39; 95&#39;身高=&#39; 25&#39;类=&#39; ParagraphDetail&#39; BORDERCOLOR =&#39;#000000&#39;&GT;&#34; $阵列[0] [MEM_ID]&#34;&LT; / TD&GT;             &lt; td width =&#39; 114&#39;身高=&#39; 25&#39;类=&#39; ParagraphDetail&#39; BORDERCOLOR =&#39;#000000&#39;&GT;&#34; $阵列[0] [MEM_DATEREGISTERED]&#34;&LT; / TD&GT;             &lt; td width =&#39; 118&#39;身高=&#39; 25&#39;类=&#39; ParagraphDetail&#39; BORDERCOLOR =&#39;#000000&#39;&GT;&#34; $阵列[0] [MEM_DATERESIGNED]&#34;&LT; / TD&GT;         &LT; / TR&GT;&#34 ;;         }         其他{             echo&#34;没有找到会员记录!&#34 ;;         }     ?&GT; &LT; /表&gt; 当我回复“会员”时,它会从我在页面顶部的输入框中正确显示,因为它正确发布,但是选择&#39;对于Dependent,不会发布到我的变量,因此我无法使用它,但出于某些奇怪的原因,我的网格确实填充了会员的详细信息,无论我从&#39;选择&#中选择什么选项39 ;. 我已经在此代码上方显示了会员详细信息,因此此网格只需要显示从“选择”中选择的“从属”。

2 个答案:

答案 0 :(得分:1)

两个错误:

$selectDependant = isset($_POST['DependantList']);

isset()仅检查变量是否已设置并返回true或false。如果您希望$_POST['DependantList']$selectDependant的内容更改为:

$selectDependant = $_POST['DependantList'];

第二

AND MEM_DEPNO = '$selDependant'");

您永远不会定义$selDependant。最有可能的应该是:

AND MEM_DEPNO = '$selectDependant'");

答案 1 :(得分:0)

在选项值周围加上引号:

echo "<option value='{$a}'>".$array[$x][MEM_DEPNO]."</option>";