小编Nin*_*ina的帖子

Mysql在列的全名时按姓氏排序

我有以下内容:

 SELECT * FROM users LEFT JOIN user_info ON users.id=user_info.user_id 
                WHERE 
                    ((user_info.tester != 1) OR (user_info.tester is null)) AND 
                    id in (SELECT explicituser_id FROM user_login WHERE (created < '2012-12-17' OR created >= date_add('2012-12-17', interval 1 day))) AND 
                    id IN (SELECT participte_id FROM roster WHERE roster_id IN (6)) 
                order by 
                    substring_index(users.name, ' ', -1)
Run Code Online (Sandbox Code Playgroud)

我只是想按用户的姓氏排序.

但是,虽然它可以按名字排序,但是姓氏是错误的.如果用户的名字周围有引号(即"Abigail Martinez",那么它将使排序不正确.如果用户只提供一个名称,并且它是昵称(即Juan),那么它也会使其不正确.然后有中间名首字母(即Tiffany S Villa或Steve de la Makinov).不幸的是,这只使用一列作为全名(users.name).

任何帮助表示赞赏.谢谢!

mysql sql-order-by

6
推荐指数
2
解决办法
2758
查看次数

除了最后一个之外,用逗号显示天数

我有以下if语句,它们收集在显示之前选择的所有日期.

$daysUsed = "";

if($this->dayweeksunsession==1){
    $daysUsed .= "Su ";
}

if($this->dayweekmonsession==1){
    $daysUsed .=  "M ";
}

if($this->dayweektuessession==1){
    $daysUsed .=  "T ";
}

if($this->dayweekwedsession==1){
    $daysUsed .=  "W ";
}

if($this->dayweekthurssession==1){
    $daysUsed .=  "Th ";
}

if($this->dayweekfrisession==1){
    $daysUsed .=  "F ";
}

if($this->dayweeksatsession==1){
    $daysUsed .=  "Sa ";
}

if($daysUsed !=="") {
    echo "</span><br/>Days of the Week: <span class='BoxReviewOutput'>";
    echo $daysUsed;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何才能这样做,以便在会话中选择的每周的每一天显示逗号,除了最后一个.

例如:周日和周二被选中.所以会显示"Su,T"

提前致谢!

html php

2
推荐指数
1
解决办法
81
查看次数

PHP:查看不成功的电子邮件

我正在试图弄清楚如何显示发送的不成功电子邮件列表以及测试它的方法.我可以显示已发送的电子邮件列表,但我不确定如何检索未成功发送的电子邮件列表.

这是我用来从mysqldb中检索它的内容:

            //get the email address list
            $query = "SELECT email FROM users 
                    WHERE id IN (SELECT participant_id FROM roster AS ur WHERE ur.roster_id=".$roster['roster_id'].")";
            $result = mysql_query($query);
            $emailstring2 = "";
            $email2 = $result;
            while ($row = mysql_fetch_object($email2)){
            $emailstring2 .= $row->email. "\n ";
}
Run Code Online (Sandbox Code Playgroud)

在消息部分,我通过以下方式检索它:

   $message .="Successful emails: \n".$emailstring2." \r\n";
Run Code Online (Sandbox Code Playgroud)

我怎么做到这一点?

php mysql

2
推荐指数
1
解决办法
76
查看次数

按名称分组,但保留与名称关联的所有标签

我想知道是否有人碰到以下内容:

SQL查询:

SELECT s.ID , s.name , s.artist, m.tag_ID, t.name, s.*, m.*, t.*
                FROM lms_song s
                LEFT JOIN lms_map m
                ON s.ID = m.ID
                LEFT JOIN lms_tag t 
                ON m.tag_id = t.ID
                WHERE s.created_by='.$userId.'                                  
                ORDER BY '.$Field.' '.$Direction;
Run Code Online (Sandbox Code Playgroud)

PHP:

<? foreach($this->songs AS $song){ ?>
<tr>
    <td>

        <?php echo $song->songName;?>

    </td>
    <td>
        <?php echo $song->artist;?>
    </td>

    <td>        
        <?php echo $song->tagname;?>

    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

它当前显示用户列出的所有"歌曲".

虽然它确实列出了与用户相关的所有歌曲,但它具有多个歌曲名称重复,因为每个歌曲名称都有与之关联的标签.

我试图只为"歌曲名称"显示"Group By s.name".

但是,这将其限制为一个t.name(标记).

我希望每个艺术家(s.artist)不显示歌曲名称(s.name)的重复,同时显示与其关联的所有标签(t.name).

任何帮助表示赞赏.

谢谢!

php mysql joomla group-by duplicate-removal

2
推荐指数
1
解决办法
48
查看次数

标签 统计

mysql ×3

php ×3

duplicate-removal ×1

group-by ×1

html ×1

joomla ×1

sql-order-by ×1