簡體   English   中英

選擇DISTINCT但全部回顯?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM