小编use*_*437的帖子

如何从GROUP_CONCAT中删除单个行?

我正在编写带有评论的新闻更新系统.我有三张桌子.

  1. news_tbl
  2. users_tbl (新闻报道的作者)
  3. comments_tbl (与外键连接 - news_id)

我尝试了两种方法,有没有GROUP_CONCAT.

我试过这个:

SELECT *, COUNT(comments_tbl.comments_id) AS `comments_count` 
FROM news_tbl AS n
LEFT JOIN users_tbl AS u
ON n.user = u.username 
LEFT JOIN comments_tbl AS c
ON c.news_id = n.news_id
GROUP BY n.news_id;
Run Code Online (Sandbox Code Playgroud)

它有效,但我只能显示第一个书面评论,但是,我想显示附加到新闻更新的所有评论.

我也用过GROUP_CONCAT评论,因此对于每个评论都没有重复的新闻帖子.我不确定它是否是正确的方法,但它确实有效.

我的问题是,我有一个登录系统,我希望用户能够单独删除注释,并为每个注释删除按钮.但我不知道如何单独分离评论,并从每个评论中获取id.我试过PHP explode,但它对我不起作用.

这是我的代码:

<?php
require_once('connect.inc.php');
$conn = dbConnect('pdo') or die('no connection');

$sqlquery = "SELECT news_tbl.*, users_tbl.*,
GROUP_CONCAT(comments_tbl.comments_id) AS commentsid,
GROUP_CONCAT(CONCAT ('<hr><h6>Navn: ', comments_tbl.name,'</h6>','<p>',comments_tbl.comment, '</p>') SEPARATOR '<br><br>') AS comments, 
COUNT(comments_tbl.comments_id) AS comments_count
FROM news_tbl …
Run Code Online (Sandbox Code Playgroud)

php mysql

5
推荐指数
1
解决办法
308
查看次数

如何在AngularJS中单元测试$ location service search()方法?

如何创建AngularJS $位置服务search()方法的单元测试?

我使用Jasmine + Karma进行测试和AngularJS 1.3,单元测试对我来说是新的:)

这是我的服务,在生产btw工作正常:

'use strict';
(function () {
angular.module('myApp')
   .service('myService', function ($location) {
      var _customerId = $location.search().id;
      /*jshint validthis:true */
      this.customerId = _customerId;
   });
})()
Run Code Online (Sandbox Code Playgroud)

这是我的服务规范:

describe('Service: mySerivce', function(){

 var $location;

 beforeEach(module('myApp'));

 beforeEach(inject(function(_$location_){
  $location = _$location_;
 }));

 it('should get ID from url', function(){
   $location.path('/?id=1080');

   console.log($location.path()); // logs: '/?id=1080'
   console.log($location.search().id); // logs: undefined

   expect($location.search().id).toEqual(1080); // Returns err msg Expected undefined to equal 1080.
  })

});
Run Code Online (Sandbox Code Playgroud)

当我使用search()方法时,我得到的是未定义的?如何在单元测试中使用该方法?

unit-testing jasmine angularjs karma-runner

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

如何在角度单元测试中模拟窗口滚动?

如何在Jasmine单元测试中模拟或模拟窗口滚动并设置window.pageYOffset属性?

我正在使用Angular 1.3,Jasmine 2.1 + Karma 0.12.28和PhantomJS 1.9.12

这是我的指令:

'use strict';
(function () {
angular
  .module('myApp')
  .directive('scrollNews', scrollNews);

  function scrollNews(){

    var directive = {
      restrict: 'A',
      scope: false,
      link: link
    };

    return directive;

    function link(scope, element) {
      scope.limit = 2;
      //add one to the limit
      scope.loadMore = function() {
        scope.limit += 1;
      };

      var raw = element[0];
      angular.element(window).on('scroll', function () {
        var scrollFrontier = this.pageYOffset + 800;
        // when scrollFrontier has reached raw.scrollHeight, run loadMore()
        if (scrollFrontier >= raw.scrollHeight) { …
Run Code Online (Sandbox Code Playgroud)

unit-testing jasmine phantomjs angularjs karma-runner

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

标签 统计

angularjs ×2

jasmine ×2

karma-runner ×2

unit-testing ×2

mysql ×1

phantomjs ×1

php ×1