Re: [请益] 下拉式选单传值 用$变量失败?

楼主: Notte (不安分的灵魂)   2014-07-27 15:23:39
我一开始不好意思把功能都讲出来 感觉很像叫大家帮我写code =.=
因为我不太熟悉后台制作 以下可能有很多错误观念 再麻烦大家见谅
我原本设计的数据库是有
1.产品分类名称 2.产品分类代号 3.产品名称 4.产品代号 5.产品内容
(用来储存图文编辑器的内容)
我的需求功能是
第一个页面可以增加产品分类
所以我在设计上有两个字段 输入产品分类名称 & 输入产品分类代号
(这边我一直思考怎么设计才好 还是我应该在数据库用enum的型态设定?)
第二个页面是使用图文编辑器
1.有个下拉式选单 会是第一页新增过的产品分类名称
2.有输入产品名称的字段
____________以下是我的部分程式码______________
$sql = ("SELECT 产品分类代号,产品分类名称 FROM product GROUP BY 产品分类名称");
(这边我不知道对不对 因为我不GROUP BY的话 会有很多重复名称)
$result = mysql_query($sql);
<select name="select">
<?php
while ($row = mysql_fetch_assoc($result)){
echo "<option value =".$row['分类代号'].">".$row['分类名称']."</option>\n";
}
?>
</select>
<input type="submit" value=" 确认新增 "/>
________(以上都包在form里 action到下一页INSERT进数据库的code)____________
另外产品内容跟产品名称 都能顺利进数据库 唯独下拉式选单的值是空值
作者: rocairforce (拾贰)   2014-07-27 16:23:00
你的 $result 确定有捞到资的??
楼主: Notte (不安分的灵魂)   2014-07-27 16:59:00
!! 好像没有 跑出Resource id #9 但是$sql在数据库跑可以我发现echo $row 也没值 但是选单里面有值 怎么会这样@@???
作者: rocairforce (拾贰)   2014-07-27 18:55:00
把你的查询直接下给DB,没报错又没资料就是你的查询写错了,有的话在PHP里dump出来看看,如果是空的再去检查看看是什么原因造成资料没到PHP,如果dump出来不是空的,再去看你HTML里的循环错在哪里。debug如果经验还不够,最简单的方式就是一层一层去追
作者: hit1205 (帮你把勇气装满)   2014-07-28 13:35:00
原po是在哪里 echo $row 的呢?如果是在 while 后面,因为纪录已经都跑完了,他只会等于 false @@另外'像楼上说的用 var_dump() 会比 echo 好,因为你可以看到那个变量本身的形态与内容 ($row 在 while 里时应该是阵列 @@) 不过既然选项有跑出来的话应该是有抓到纪录...数据库的部分,另一种做法是另外用一个表来存分类与代号产品这边就只要记录他所属的分类代号就好 @@
楼主: Notte (不安分的灵魂)   2014-07-28 23:15:00
感谢! 我会多加尝试的! 我的确是测试时在while后面echo @_@"
作者: hit1205 (帮你把勇气装满)   2014-07-29 10:46:00
mysql_fetch_assoc()的作用是取出一列资料之后,把指针移到下一列,所以循环跑第二次的时候就会抓到下一列直到最后没有任何纪录了,他就会回传false而while就是不断在执行mysql_fetch_assoc(),直到false就跳离while,所以在while后面时$row就会等于false
楼主: Notte (不安分的灵魂)   2014-07-31 18:14:00
已解决 下一页做处理的页面 是要GET select的name!应该说是取POST>>> $i = $_POST['select1'];
作者: birkhofflee (Birkhoff)   2014-08-20 21:59:00
请使用 PDO,以后 mysql_ 开头的 function 都会移除

Links booklink

Contact Us: admin [ a t ] ucptt.com