小编Mat*_*att的帖子

MySQL - IN()中的ORDER BY值

我希望按照它们输入IN()函数的顺序对以下查询中返回的项进行排序.

INPUT:

SELECT id, name FROM mytable WHERE name IN ('B', 'A', 'D', 'E', 'C');
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

|   id   |   name  |
^--------^---------^
|   5    |   B     |
|   6    |   B     |
|   1    |   D     |
|   15   |   E     |
|   17   |   E     |
|   9    |   C     |
|   18   |   C     |
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

mysql sql-order-by where-clause

101
推荐指数
2
解决办法
7万
查看次数

Drupal的一些缺点是什么?

Drupal是一个"尽力而为"的CMS.有些模块允许您添加几乎任何功能,这很棒.但是,感觉很多功能(v5和v6)似乎散落在用户身上并且不直观.作为一名开发人员,我留下了使用泡泡糖和字符串拼凑一个网站的感觉.

例如,要将文本添加到默认搜索框(单击时消失),您必须添加一些jQuery代码或覆盖主题.我还发现菜单系统比它应该更复杂.

我是唯一有此意见的人吗?关于Drupal的核心你会改变什么(如果有的话)?

php complexity-theory drupal content-management-system

34
推荐指数
6
解决办法
3659
查看次数

如何检索PHP exec()错误响应?

下面是我尝试执行的命令,但没有成功:

exec('ln -s ' . PLUGIN_DIR . '/.htaccess ' . ABSPATH . '/.htaccess');
Run Code Online (Sandbox Code Playgroud)

当您在末尾添加die()时,它会捕获到错误:

exec('ln -s ' . PLUGIN_DIR . '/.htaccess ' . ABSPATH . '/.htaccess') or die('what?!');
Run Code Online (Sandbox Code Playgroud)

对于上面的exec()语句,权限问题导致错误,但PHP没有显示它.你如何从PHP显示出现了什么错误?

php shell exec

28
推荐指数
6
解决办法
5万
查看次数

MySQL - SQL_BIG_SELECTS

嘿,我一直在调查SQL_BIG_SELECTS,但到目前为止MySQL文档一直没有用.我正在寻找一些见解,以防止出现下面的错误.

错误1104:SELECT会检查太多记录,可能需要很长时间.如果SELECT正常,请检查您的WHERE并使用SET OPTION SQL_BIG_SELECTS = 1

  1. 在MySQL确定查询是"大选择"的行数是多少?
  2. 适当的索引通常会解决这个问题吗?
  3. SQL_BIG_SELECTS被认为是"最后的手段",还是好的做法?
  4. 如何在配置中设置"SQL_BIG_SELECTS = 1"(无需执行查询)?
  5. 还有其他值得了解的选择吗?

提前致谢!

mysql select

26
推荐指数
1
解决办法
4万
查看次数

PHP:一个mysql_query语句中的多个SQL查询

所以我有一个需要使用mysql_query()加载的SQL转储文件.不幸的是,用它执行多个查询是不可能的.

- >不能假设安装了mysql命令行客户端(mysql --help) - 用于直接加载SQL文件

- >不能假设安装了mysqli扩展

/* contents of dump.sql, including comments */
DELETE FROM t3 WHERE body = 'some text; with semicolons; scattered; throughout';
DELETE FROM t2 WHERE name = 'hello';
DELETE FROM t1 WHERE id = 1;
Run Code Online (Sandbox Code Playgroud)

下面的explode()不起作用,因为某些转储内容的值包含分号.

$sql = explode(';', file_get_contents('dump.sql'));
foreach ($sql as $key => $val) {
    mysql_query($val);
}
Run Code Online (Sandbox Code Playgroud)

在不修改转储文件的情况下加载SQL的最佳方法是什么?

php mysql sql

9
推荐指数
2
解决办法
4万
查看次数

优化MySQL查询以避免"使用where;使用临时;使用filesort"

我使用MySQL为我的网站建立了一个自定义论坛.列表页面本质上是一个包含以下列的表:主题,上次更新#Reslies.

DB表包含以下列:

id
name
body
date
topic_id
email
Run Code Online (Sandbox Code Playgroud)

一个主题为"0"的topic_id,并回复有自己的母话题的topic_id.

SELECT SQL_CALC_FOUND_ROWS
    t.id, t.name, MAX(COALESCE(r.date, t.date)) AS date, COUNT(r.id) AS replies
FROM
    wp_pod_tbl_forum t
LEFT OUTER JOIN
    wp_pod_tbl_forum r ON (r.topic_id = t.id)
WHERE
    t.topic_id = 0
GROUP BY
    t.id
ORDER BY
    date DESC LIMIT 0,20;
Run Code Online (Sandbox Code Playgroud)

此表中总共有2,100个项目,查询通常需要6秒钟.我在"topic_id"列中添加了一个INDEX,但这没有多大帮助.有没有办法加速这个查询而不进行重大重组?

编辑:还没有完成工作.我似乎无法让下面的例子正常工作.

mysql sql optimization performance

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

SQL - 如何进行条件INSERT

使用MySQL,我知道如果表是新的,是否可以运行insert语句.我成功创建了一个用户变量来查看该表是否存在.问题是你不能使用"WHERE"和insert语句.关于如何使这个工作的任何想法?

// See if the "country" table exists -- saving the result to a variable
SELECT
    @table_exists := COUNT(*)
FROM
    information_schema.TABLES
WHERE
    TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'country';

// Create the table if it doesn't exist
CREATE TABLE IF NOT EXISTS country (
    id INT unsigned auto_increment primary key,
    name VARCHAR(64)
);

// Insert data into the table if @table_exists > 0
INSERT INTO country (name) VALUES ('Afghanistan'),('Aland Islands') WHERE 0 < @table_exists;
Run Code Online (Sandbox Code Playgroud)

mysql sql insert

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

jQuery:创建一个圆形滑块

你可能以前看过JavaScript滑块:

http://dev.jquery.com/view/tags/ui/1.5b2/demos/ui.slider.html

我想象的是一个圆形滑块.它将包含圆圈上一个点上的可拖动按钮 - 该按钮可以沿着环的任何位置拖动.该值取决于按钮的位置(想想时钟).

javascript jquery jquery-ui slider draggable

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

PHP/MySQL - "评分最高"的算法

所以我只是建立了一个星级评分系统,并尝试提出一种算法来列出"评分最高"的项目.为简单起见,以下是列:

item_name
average_rating (a decimal from 1 to 5)
num_votes
Run Code Online (Sandbox Code Playgroud)

我试图确定投票数和评级之间的"甜蜜点".例如...

  • 评级为(4.6/20票)的项目应该高于一个项目(5.0/2票)
  • 评级为(2.5/100票)的项目应该低于(4.5/2票)的项目

换句话说,num_votes在"Top"中扮演一个因素.

有人知道一种算法非常擅长确定这个"甜蜜点"吗?

提前致谢.

php mysql algorithm rating

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

PHP/MySQL - 构建导航菜单层次结构

所以最终菜单看起来像这样:

Item B
    Item B-1
        Item B-1-2
        Item B-1-1
Item A
    SubItem A-1
    SubItem A-2
Item C
Run Code Online (Sandbox Code Playgroud)

基于以下DB记录:

id        menu_title          parent_menu_id    menu_level    weight
1         Item A                0                           1                     1
2         Item B                0                           1                     0
3         Item C                0                           1                     2
4         SubItem A-2       1                           2                     1
5         Item B-1             2                           2                     0
6         Item B-1-1          5                           3                     1
7         SubItem A-1       1                           2                     0
8         Item B-1-2          5                           3                     0
Run Code Online (Sandbox Code Playgroud)

我该怎么去展示?我的猜测是它将涉及将所有项目存储到一个多维数组中,然后以某种方式循环遍历它...

php mysql arrays menu hierarchy

4
推荐指数
2
解决办法
2万
查看次数