|
查看: 987|回复: 18
|
PHP高手请帮帮忙...
[复制链接]
|
|
|
<h2>Register</h2>
<form action="index.php?option=com_php&Itemid=89" method="post">
<table cellspacing="3" cellpadding="3">
<?php
$search = array(1 =>'ALL','first_name','last_name','department','site_id','did','email','status');
echo '<tr><td><p>Search By</p></td>';
echo '<td><select name = "search">';
foreach($search as $key => $value){
echo "<option value = '$search[$key]'>$display[$key]</option>\n";
}
echo '</select></td></tr>';
$as = '';
require_once('C:\xampp\db_connect\mysqli_connect.php');
$q1 = "SELECT $as AS value FROM mm_emp_detail";
$r1 = @mysqli_query($dbc,$q1);
//$num1 = mysqli_num_rows($r1);
echo '<tr><td><p>AS</p></td>';
echo '<td><select name = "as">';
while($row1 = mysqli_fetch_array($r1,MYSQLI_ASSOC)){
echo '<option value = '.$row1['value'].'>'.$row1['value'].'</option>\n';
}
echo '</select></td></tr>';
?>
</table>
<p><input type="submit" name="submit" value="Search" /></p>
<input type="hidden" name="submitted" value="TRUE" />
</form>
上面的CODING,青色的是第一个LIST BOX,中间红色的是一个VARIABLE,下面蓝色的是另一个LIST BOX(这行不重要,只是放个完整的CODE).
能不能够当我一选了第一个LIST BOX之后,第一个LIST BOX的VALUE能够STORE进$as这个VARIABLE里?
给个例子,我第一个LIST BOX 选了first_name,first_name这个VALUE 就会STORE 进$as里面.
我不是PROGRAMMER ,但工作需要,请大家帮帮忙.谢谢.  |
|
|
|
|
|
|
|
|
|
|
发表于 19-9-2008 02:04 AM
|
显示全部楼层
原帖由 翻天印 于 18-9-2008 03:15 PM 发表 
Register
上面的CODING,青色的是第一个LIST BOX,中间红色的是一个VARIABLE,下面蓝色的是另一个LIST BOX(这行不重要,只是放个完整的CODE).
能不能够当我一选了第一个LIST BOX之后,第一个LIST B ...
你应该是要弄 chained list 吧
例如选择国家后 ,第 2 个 list 就是那个国家里的州属。
如果是的话,建议你用 javascript / ajax 来弄。(弄起来比较美)
要不然就在 select 里加个 onchange ,一旦选择后就会自动 form submit.(这是比较老的方法)
[ 本帖最后由 vampcheah 于 19-9-2008 02:05 AM 编辑 ] |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 19-9-2008 08:45 AM
|
显示全部楼层
有人回复了,太好了...我要的就只是第一个LIST 选了first_name,$as 就会STORE AS first_name,不是chained list.
"在 select 里加个 onchange ,一旦选择后就会自动 form submit."我试了很多次,但都不成功....帮帮我吧,大哥,能给我一个概念如和使用onchange吗?  |
|
|
|
|
|
|
|
|
|
|
发表于 19-9-2008 12:26 PM
|
显示全部楼层
看你的问题你好像还没搞清楚 PHP HTML JAVASCRIPT 的概念。
你要的可能是这个,到 google 查这个关键字吧。XMLHttpRequest
趴帖去吧你会学的更多。 |
|
|
|
|
|
|
|
|
|
|
发表于 19-9-2008 01:18 PM
|
显示全部楼层
在php是不能像你讲得那样的。。。。。
$as是php的variable....
如果你要把first list的value在onchange的时候store 起来呢。。。
那么你需要一个hidden element, 然后当first list 在 onChange的时候,call 一个javascript的function,
把first list selected的value store 在那个hidden element 里面。。。。。
不知道是不是你要的。。。。。
参考下。。。 |
|
|
|
|
|
|
|
|
|
|
发表于 19-9-2008 07:13 PM
|
显示全部楼层
还原基本步
为什么要 store 进 一个 variable 里面?
你是想在 form submit 后得到 list 1 里面的数据?
在无刷新的底下,使list 1 的数据在其他区域(div 之类)出现?
list 1 的数据有助于填寫其他的资料栏?
必须先清楚你本身需要什么。不然你问到明年都很难回答你。 |
|
|
|
|
|
|
|
|
|
|
发表于 20-9-2008 12:00 AM
|
显示全部楼层
你编写程式码很乱。。。
把PHP 和 JavaScript 互相的使用就可以了。。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 22-9-2008 03:22 PM
|
显示全部楼层
$as = '';
require_once('C:\xampp\db_connect\mysqli_connect.php');
$q1 = "SELECT $as AS value FROM mm_emp_detail";
$r1 = @mysqli_query($dbc,$q1);
//$num1 = mysqli_num_rows($r1);
echo '<tr><td><p>AS</p></td>';
echo '<td><select name = "as">';
while($row1 = mysqli_fetch_array($r1,MYSQLI_ASSOC)){
echo '<option value = '.$row1['value'].'>'.$row1['value'].'</option>\n';
}
echo '</select></td></tr>';
我要拿到第一个SELECT LIST的目的是要将它$as,然后跑上面这段CODE,就是让第二个SELECT LIST显示DATABASE里的DATA根据第一个SELECT LIST的变化. 举个例子,当第一个SELECT LIST 的选项是first_name,第二个SELECT LIST就会显示所有在DATABASE里, first_name整个COLUMN的DATA.
PHP 和JAVASCRIPT的结合,我试着,但不知道如和从JAVASCRIPT里将VALUE拿出来......
或者有没有其他的方法? |
|
|
|
|
|
|
|
|
|
|
发表于 22-9-2008 08:54 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 23-9-2008 09:04 AM
|
显示全部楼层
翻天印,首先你必须明白 (我也花了很长时间才分辨明白)
php 是 server site coding
她只能在 page loading 的时候执行。任何 user 在 web browser 的 activities (例如:textchange, onchange selection, button click 等等),server 都不会知道 (除非你 POST DATA)。也就是说,你不可能 onchange 你的 selection 然后期望可以 assign value 给 php variable, 除非你 submit form.
所以~~~就如 vampchead 说的,你只能用 ajax, 或者就 submit form, 来让你第二个 select list 变换。
给你一个 ajax 的 example....
把以下的 javascript, 放在你的 php code 里面, 把原本要放 selectionList2 的地方,放一个 DIV, id=divSelection2
********************************************************************************
<script language="javascript" type="text/javascript">
var request = false;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP" ;
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP" ;
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!" ;
</script>
<script type="text/javascript">
function SelectionList1_Change() {
var selectedValuie = document.getElementById("UrSelectList1" .options[document.getElementById("UrSelectList1" .selectedIndex].value;
var url = "./ajax_loadSelectionList2.php?value="+selectedValue;
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);
}
function updatePage() {
if (request.readyState == 4) {
if (request.status == 200) {
var response = request.responseText.split("|" ;
//alert(request.responseText);
if (response[0] == 0) {
document.getElementById("divSelection2" .innerHTML =
response[1].replace(/\n/g, "" ;
} else
document.getElementById("divSelection2" .innerHTML =
response[1].replace(/\n/g, "" ;
} else
alert('Unable to process. Please try again');
} else
document.getElementById("divSelection2" .innerHTML =
'<b>loading, please wait</b>';
}
</script>
------------------------------- 然后,create 一个file 叫ajax_loadSelectionList2.php-------------------------------------
<?
if (isset($_GET['value'])){
$as = $_GET['value'];
require_once('C:\xampp\db_connect\mysqli_connect.php');
$q1 = "SELECT $as AS value FROM mm_emp_detail";
$r1 = @mysqli_query($dbc,$q1);
//$num1 = mysqli_num_rows($r1);
$returnValue = “<select name = \"as\">';
while($row1 = mysqli_fetch_array($r1,MYSQLI_ASSOC)){
$returnValue .= '<option value = '.$row1['value'].'>'.$row1['value'].'</option>\n';
}
$returnValue .= '</select>';
echo "1|$returnValue";
}else{
echo "0|<font color=\"red\">Invalid parameter</font>";
}
?>
******************************************** GOOD LUCK********************************************** 
[ 本帖最后由 biau_dart 于 23-9-2008 09:06 AM 编辑 ] |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 23-9-2008 04:09 PM
|
显示全部楼层
biau_dart,谢谢你的CODE,但看不是很明白,我研究一下才看要怎样放进去...
谢谢大家的帮忙,我成功了会再会来跟大家道谢的  |
|
|
|
|
|
|
|
|
|
|
发表于 23-9-2008 10:25 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 24-9-2008 09:19 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 24-9-2008 04:34 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 25-9-2008 08:58 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 25-9-2008 11:16 AM
|
显示全部楼层
大家好...
你们都是自修AJAX吗???
我有试过在网上找tutorial....
但是还不是很明白如何可以掌握....
请大家指教.... |
|
|
|
|
|
|
|
|
|
|
发表于 26-9-2008 03:43 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 26-9-2008 03:46 PM
|
显示全部楼层
|
对了………… 什么是 jquery? jquery.js, 网上有的下载? |
|
|
|
|
|
|
|
|
|
|
发表于 14-10-2008 09:52 PM
|
显示全部楼层
原帖由 biau_dart 于 26-9-2008 03:46 PM 发表 
对了………… 什么是 jquery? jquery.js, 网上有的下载?
www.jquery.com
不懂要如何定义。。
简单来讲它是一个standard的java script / ajax的framework..
里面有很多librarary可以用。
我们可以通过参考它所给的API来启动它的functions,
接着你不需要完全懂怎么写ajax,不用再去dynamicdrive.com了,
却可以做到ajax tabs, ajax query。。ajax只是它其中一个元件而已。
现在很多web development都走jquery路线了。。。
 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|