我有一些困难,我的“选择”有两个SQL查询选择下拉
在我的选择/菜单,我显示所有的选项在我的数据库来自一个表(table_db_email)
在此表(tb_code_prmtn11_email)我有两个领域: fld_email_id fld_name_email
它的工作原理这里是一个代码
<select name="email_adress_menu" id="email_adress_menu" class="valid" onchange="submit()">
<?php
echo "<option selected=\"selected\" value=''>Choose your name</option>";
$req_email_adress_menu = "SELECT DISTINCT id_email, fld_name_email, fld_adresse_email FROM $table_db_email ORDER BY fld_name_email ";
$rep_email_adress_menu = mysql_query($req_email_adress_menu, $cnx) or die(mysql_error()) ;
while($show_email_adress_menu = mysql_fetch_assoc($rep_email_adress_menu)) {
echo '<option value="'.$show_email_adress_menu['id_email'].'"';
//if($primes==$show_email_adress_menu['fld_name_email']){echo " selected";} //display to select an option!!!!!!!!!!!!!!!!
echo '>'.$show_email_adress_menu['fld_name_email'].' - '.$show_email_adress_menu['fld_adresse_email'].'</option>';
}
?>
</select>
我有一些其他的信息,从另一个表来:tb_code_prmtn11(含有关人员的信息)
我有几个领域:
- id_resultat
- fld_name
- fld_email_id; (外键(
fld_email_id
)参考文献tb_code_prmtn11_email
(id_email
)ON DELETE NO ACTION ON UPDATE CASCADE;)
我想把这个菜单中的其他网页上,该选择必须显示所有如下选项(带)通过选择匹配在第二表中找到的信息的选项:tb_code_prmtn11
我该怎么做?
SELECT td.id_resultat,td.fld_email_id,email.fld_name_email
FROM $table_db td
JOIN $table_db_email email ON td.fld_email_id = email.id_email
WHERE td.id_resultat = $id
此代码的工作也,但我不知道我怎么能包括我的菜单本次查询...
你的代码工作... 我看到我的选择:它作品...它显示所有的选项但没有选择的选项。
所以第二查询工作:(这是第42行)
我得到在FireFox下面的代码:
27 <form id="form-fan" method="post" action="edit.php">
<option value="tomo">TOTO MONO - [email protected]</option>
<option value="kito">KIKI TOTO - [email protected]</option>
所以我想显示选项选择与其他选项,但我不能... 我的菜单工作,但任何选项被选中,但是,在现实中,有一个选项,因为在我的数据库中,每个有一个
我试过我的第一个查询(你的/我的代码中的第18行)
SELECT tbl.id_resultat,tbl.fld_email_id,email.fld_nom_email,email.id_email
FROM tb_code_prmtn11 tbl
INNER JOIN tb_code_prmtn11_email email
ON tbl.fld_email_id = email.id_email
WHERE tbl.id_resultat='27'
* $ table_db TBL * =>tb_code_prmtn11
* $ table_db_email * - >tb_code_prmtn11_email
和它的工作... ** id_resultat:27
fld_email_id:KITO
fld_nom_email:KIKI TOTO
id_email:KITO **
所以,我怎么能显示与选择正确的选项其他选项在我的选择? 我怎么可以在Firefox得到下面的代码:
<option value="tomo">TOTO MONO - [email protected]</option>
<option value="kito" selected>KIKI TOTO - [email protected]</option>
我检查我的变量ID:这是确定... 这里是我的改变你的新代码来适应我的网页:
<?php
include"../bd_db/connection.php";
include"../bd_db/selection.php";
$id=$_GET['id'];
echo $id;
if (isset($_POST) && !empty($_POST))
{
if (array_key_exists('ajaxId', $_POST))
{
if ((int)$_POST['ajaxId'] <= 0)
{
throw new Exception("go to hell");
}
$query = "SELECT td.id_resultat as id, email.fld_name_email AS name FROM " . $table_db . " td INNER JOIN " . $table_db_email . " email ON td.fld_email_id = email.id_email WHERE td.id_email = " . $_POST['ajaxId']; //!!!!! line 18
$result = mysql_query($query, $cnx);
if (mysql_num_rows($result) > 0)
{
$data = array();
while ($row=mysql_fetch_array($result))
{
$data[$row["resultat"]] = $row["name"];
}
echo json_encode($data);
exit();
}
}
if (array_key_exists('select-big-fan', $_POST))
{
// you've found a big fan selected
}
}
$query = "SELECT DISTINCT id_email AS id, fld_nom_email AS name, fld_adresse_email AS email FROM " . $table_db_email . " ORDER BY name"; //second query works :(line 42)
$result = mysql_query($query, $cnx);
?>
<?php if (mysql_num_rows($result) > 0) : ?>
<form id="form-fan" method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>">
<select name="select-fan" id="select-fan">
<?php while ($row=mysql_fetch_array($result)) : ?>
<option value="<?php echo $row["id"] ?>"><?php echo $row["name"] ?> - <?php echo $row["email"] ?></option>
<?php endwhile ?>
</select>
</form>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#select-fan").change(function(){
var fanId = jQuery(this).val();
jQuery.ajax(function(){
url: "<?php echo $_SERVER["PHP_SELF"] ?>",
data: {ajaxId: fanId},
success: function(data){
selectBigFan = jQuery('<select>', {name: 'select-bigfan', id: 'select-bigfan'});
jQuery.each(data, function(bigFanId, bigFanText){
optionBigFan = jQuery('<option>' {value: bigFanId, text: bigFanText});
optionBigFan.appendTo(selectBigFan);
});
selectBigFan.insertAfter(jQuery('#select-fan'));
jQuery('<input>', {type: 'submit', value: 'send'});
}
});
});
});
</script>
<?php else : ?>
<p>Yup, there's nothing here, do u have beer ?</p>
<?php
endif
?>
有一个愉快的一天
这里是我的改变你的代码为适应我的网页...
<?php
include"../bd_db/connection.php";
include"../bd_db/selection.php";
$id=$_GET['id'];
echo $id;
if (isset($_POST) && !empty($_POST))
{
if (array_key_exists('ajaxId', $_POST))
{
if ((int)$_POST['ajaxId'] <= 0)
{
throw new Exception("go to hell");
}
$query = "SELECT td.id_resultat as id, email.fld_nom_email AS name FROM " . $table_db . " td INNER JOIN " . $table_db_email email ON td.fld_email_id = email.id_email WHERE td.fld_email_id = " . $_POST['ajaxId']"; //!!!!! la ligne 19
$result = mysql_query($query, $cnx);
if (mysql_num_rows($result) > 0)
{
$data = array();
while ($row=mysql_fetch_array($result))
{
$data[$row["resultat"]] = $row["name"];
}
echo json_encode($data);
exit();
}
}
if (array_key_exists('select-big-fan', $_POST))
{
// you've found a big fan selected
}
}
$query = "SELECT DISTINCT id_email AS id, fld_nom_email AS name, fld_adresse_email AS email FROM " . $table_db_email . " ORDER BY name";
$result = mysql_query($query, $cnx);
?>
<?php if (mysql_num_rows($result) > 0) : ?>
<form id="form-fan" method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>">
<select name="select-fan" id="select-fan">
<?php while ($row=mysql_fetch_array($result)) : ?>
<option value="<?php echo $row["id"] ?>"><?php echo $row["name"] ?> - <?php echo $row["email"] ?></option>
<?php endwhile ?>
</select>
</form>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#select-fan").change(function(){
var fanId = jQuery(this).val();
jQuery.ajax(function(){
url: "<?php echo $_SERVER["PHP_SELF"] ?>",
data: {ajaxId: fanId},
success: function(data){
selectBigFan = jQuery('<select>', {name: 'select-bigfan', id: 'select-bigfan'});
jQuery.each(data, function(bigFanId, bigFanText){
optionBigFan = jQuery('<option>' {value: bigFanId, text: bigFanText});
optionBigFan.appendTo(selectBigFan);
});
selectBigFan.insertAfter(jQuery('#select-fan'));
jQuery('<input>', {type: 'submit', value: 'send'});
}
});
});
});
});
</script>
<?php else : ?>
<p>Yup, there's nothing here, do u have beer ?</p>
<? php
endif
?>
我有一个来自行18
Parse error: syntax error, unexpected T_STRING in C:\inetpub\wwwroot\byrd\apps_code_promotion\verification\edit.php on line 18
所以我用下面这行也尝试错误信息,但我有同样的错误信息:
$query = "SELECT td.id_resultat as id, email.fld_nom_email AS name FROM " . $table_db . " td INNER JOIN " . $table_db_email email ON td.fld_email_id = email.id_email WHERE td.fld_email_id = " . $_POST['ajaxId']"; //!!!!! la ligne 19
$query = "SELECT td.id_resultat as id, email.fld_nom_email AS name FROM " . $table_db . " td INNER JOIN " . $table_db_email email ON td.fld_email_id = email.id_email WHERE td.fld_email_id = . $_POST['ajaxId']; //!!!!! la ligne 19
为什么必须选择第二个选项?因为我们有两个屏幕(文件)和一个下拉菜单: 在第一个画面,我显示在用户的所有信息:
<?php
$req= " select tbl.id_resultat,schl.fld_school,tbl.fld_note,email.fld_nom_email,email.fld_adresse_email
FROM $table_db tbl
INNER JOIN $table_db_school schl
ON tbl.fld_school_id = schl.fld_id_school
INNER JOIN $table_db_email email
ON tbl.fld_email_id = email.id_email";
$rep = mysql_query($req, $cnx) or die(mysql_error()) ;
while($row=mysql_fetch_row($rep)){
$id_resultat=$row[0];
$fld_school=$row[1];
$fld_note=$row[2];
$fld_nom_email=$row[3];
$fld_adresse_email=$row[4];
echo "<tr ><td>$id_resultat</td><td>
$fld_shool</td><td>
$fld_note</td><td>
$fld_nom_email</td><td>
$fld_adresse_email</td><td>
<a href=\"edit.php?id=$id_resultat\">to verify</a></td>
</tr>"
?>
在第二个屏幕,(当链路上的“用户的点击”验证” ')他可以在下拉菜单中看到选择的选项,如果需要的话,他可以选择其他选项(电子邮件...)
那么如何在我的选择中显示与其他选项一起选择的正确选项?
我希望这仅仅是讽刺... – MJB
喜奔,我该怎么办呢?用Ajax查询SQL?你有一个可以激励我的例子吗? – aspkiddy