[英]Select DISTINCT but echo all?
我需要從mysql填充選擇列表。 mysql表中的行具有相同的值。
例如:1-mamma 2-pappa 1-kus
我的選擇下拉列表將顯示數字1、1、4。首先,我不希望重復使用,在這里,我可以在選擇中使用DISTINCT。 但是,當我在下拉列表中選擇數字1時,我想同時顯示“媽媽”和“爸爸”。
我怎樣才能做到這一點? 我有一些代碼:
//Sql select
$sql = "SELECT * FROM phpexcel";
//
$aResult = mysql_query($sql);
if($_REQUEST['frm_action'] == 3){
if ($_REQUEST['id'] == 0){
$id = $_REQUEST['id'];
$sqlCustomer = "SELECT * FROM phpexcel";
}
else{
$id = $_REQUEST['id'];
$sqlCustomer = "SELECT * FROM phpexcel WHERE id ='$id'";
}
$aCustomer = mysql_query($sqlCustomer);
}
?>
<html>
<head>
<script type="text/javascript">
function changeSID()
{
oForm = eval(document.getElementById("frmForm"));
iCustomerId = document.getElementById("objekt_nr").value;
url = "get_element_by_objekt.php?frm_action=3&id=" +iCustomerId;
document.location = url;
}
</script>
</head>
<body>
<form name="frmForm" id="frmForm" >
<table border="0" cellspacing="2" cellpadding="2" width="40%">
<tr>
<td align="right" ><strong>Objekt</strong></td>
<td align="left"><select name="objekt_nr" id="objekt_nr" onchange="javascript:changeSID();">
<option value="">Select</option>
<option value="0">All</option>
<?php
$sid1 = $_REQUEST['id'];
while($rows=mysql_fetch_array($aResult,MYSQL_ASSOC))
{
$id = $rows['id'];
$sid = $rows['objekt_nr'];
if($sid1 == $id)
{
$chkselect = 'selected';
}
else
{
$chkselect ='';
}
?>
<option value="<?php echo $id;?>"<?php echo $chkselect;?>><?php echo $sid;?></option>
<?php } ?>
</td>
</tr>
<?php if($_REQUEST['frm_action'] == 3) { ?>
<tr>
<td colspan="2">
<table style="border:1px solid #003366;" cellspacing="2" cellpadding="2" width="100%" bgcolor="#003366">
<tr bgcolor="#EFEFEF">
<td><b><font color='Red'>Objekt Nr</font></b></td>
<td><b><font color='Red'>Objekt Rev</font></b></td>
<td><b><font color='Red'>Element Nr</font></b></td>
</tr>
<?php
while($row1 = @mysql_fetch_array($aCustomer,MYSQL_ASSOC))
{
$sid = $row1['objekt_nr'];
$sname = $row1['objekt_rev'];
$age = $row1['element_nr'];
?>
<tr bgcolor="#FFFFFF">
<td><b><font color='#663300'><?php echo $sid;?></font></b></td>
<td><b><font color='#663300'><?php echo $sname;?></font></b></td>
<td><b><font color='#663300'><?php echo $age;?></font></b></td>
SELECT id, GROUP_CONCAT(objekt_nr SEPARATOR ' ') AS objekt_nr FROM phpexcel GROUP BY id;
應該做到的。
將返回您:
1 Pappa Mamma
2 Kus
這個選擇
SELECT DISTINCT
objekt_nr, GROUP_CONCAT(DISTINCT element_nr ORDER BY element_nr) AS element_nr_list
FROM phpexcel
group by objekt_nr
ORDER BY objekt_nr
給我這個:
N111
10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29
N123456
1,2,3,4,5,6,7,8,9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.