小编vik*_*ter的帖子

PHPExcel_Style_Fill无限递归

我使用库PHPExcel 1.7.9来处理Excel文件.首先,我创建一个模板,风格和抛光它.然后,为避免样式硬编码,使用上面提到的库我打开该模板,更改一些值并将其另存为新.xlsx文件.

首先,我们从单元格中获取该样式.

$this->styles = array() ;
$this->styles['category'] = $sheet->getStyle("A4");
$this->styles['subcategory'] = $sheet->getStyle("A5");
Run Code Online (Sandbox Code Playgroud)

这是递归函数,显示类别和子类别.

private function displayCategories($categories, &$row, $level = 0){
    $sheet = $this->content ;

    foreach($categories as $category){
        if ($category->hasChildren() || $category->hasItems()){ //Check if the row has changed.
            $sheet->getRowDimension($row)->setRowHeight(20);
            $sheet->mergeCells(Cell::NUMBER . $row . ":" . Cell::TOTAL . $row) ;

            $name = ($level == 0) ? strtoupper($category->name) : str_repeat(" ", $level*6) ."- {$category->name}" ;
            $sheet->setCellValue(Cell::NUMBER . $row, $name) ;
            $sheet->duplicateStyle((($level == 0) ?  $this->styles['category'] : …
Run Code Online (Sandbox Code Playgroud)

php recursion phpexcel

8
推荐指数
1
解决办法
1453
查看次数

电子邮件地址验证(点和大小写)

您可以知道,可以在电子邮件地址中使用很多字符.现在人们在他们的电子邮件地址中分割了一些关键字以提高可读性,例如:

name.surname@gmail.com
x-com.shop.support@stuff.net
Run Code Online (Sandbox Code Playgroud)

但是,.使用Gmail(以及大小写)时的点字符只会提高可读性,因此不会将其视为电子邮件地址的一部分.因此,我们可以说:

name.surname@gmail.com 是相同的 namesurname@gmail.com

x-com.shop.support@stuff.net 是相同的 x-comshopsupport@stuff.net


问题

大多数网站使用数据库驱动的身份验证.假设我注册了一个电子邮件(没有点)namesurname@gmail.com,这样的MySQL查询将无法正常工作,因为字符串不同:

SELECT * FROM users WHERE email = "name.surname@gmail.com" ;


这个问题

有没有解决此类问题的解决方法?事实上,不同的电子邮件服务器使用不同的规则.那么,用户必须始终记住,他们使用点或大写字母在哪个网站上,即使该电子邮件地址仍然相同?


UPDATE

想象一下,您可以使用相同的电子邮件制作大量帐户.namesurname@gmail.com别名:原始电子邮件:别名:

name.surname@gmail.com
n.amesur.name@gmail.com
nam.esurname@gmail.com
Run Code Online (Sandbox Code Playgroud)

您仍然会在同一地址收到电子邮件确认.听起来很奇怪,是吧?

php mysql email authentication

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

将数据列添加到现有的mySQL表

我有一个基本的SQL问题,这让我很生气.如果我有一个mySQL表,例如下面.如何从第一个空行开始向列2添加另外80个以上的值(在此示例中为第3行).

我一直在使用INSERT或UPDATE尝试一些查询,但最接近的是从最后定义的ID值(例如,行80ish)开始将值添加到第2列.

   ID  |    Column 2    |
--------------------------------
  1    |    value       |
  2    |    value       |
  3    |                |
  4    |                |
  5    |                |

etc
Run Code Online (Sandbox Code Playgroud)

真正的表有大约10列,都有数据,但我只需要添加内容(CSV格式的大约80个不同字符串的列表到其中一列)

如果有人能指出我正确的方向,我会很感激.

php mysql

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

标签 统计

php ×3

mysql ×2

authentication ×1

email ×1

phpexcel ×1

recursion ×1