我index.php在我的Yii2项目中查看了page(),我正在使用Kartik gridView来显示数据
在视图的右侧,我有一个复选框列.我有一个导出按钮.我想将所选名称(由复选框选中)导出到name.txt文件中.
我终于制作了导出功能,但我不知道如何将所选数据从视图中获取到控制器中.
我尝试过从很多论坛获得的建议,例如:
我把这个javascript代码放在我的视图中index.php:
<script>
function getRows(){
var keys = $('#grid').yiiGridView('getSelectedRows');
$.post({
url: FakturOutController / exportAction,
dataType: 'json',
data: {keylist: keys},
success: function(data) {
alert('I did it! Processed checked rows.')
},
});
}
Run Code Online (Sandbox Code Playgroud)
并设置导出按钮,如下所示:
<p>
<button type="button" onclick="getRows()" class="btn btn-success">Export</button>
</p>
Run Code Online (Sandbox Code Playgroud)
但我没有得到任何东西,点击时按钮没有显示任何动作/反应.
`<?php Pjax::begin(); ?>
<?=
GridView::widget([
'dataProvider' => $dataProvider,
'tableOptions' => ['class' => 'table table-hover'],
'columns' => [
['class' => 'yii\grid\SerialColumn',
'header' => …Run Code Online (Sandbox Code Playgroud) 我是 docker 和 postgresql 的初学者。
如何在不丢失当前数据库的情况下将 docker postgresql 9.5 升级到 9.6?仅供参考:我使用的是 ubuntu 版本 14 和 docker 17.09
提前致谢。
postgresql docker ubuntu-14.04 postgresql-9.5 postgresql-9.6
我正在尝试在Express应用程序中使用Sequelize获取数据,并且使用SQL Server作为数据库。
这是我的代码:
Order.findAll({
attributes:[
[Sequelize.fn('SUM', Sequelize.col('total_price')), 'total_price'],
],
include:[
{model: Customer, attributes:['name']}
],
group:['Customer.id','Customer.name']
}).then(result =>res.json(result))
Run Code Online (Sandbox Code Playgroud)
这段代码运行良好,并成功使用聚合函数返回数据。但是当我添加另一个'product_id', 'status', 'expired_date'不需要聚合的属性时,它会返回一个错误,例如
列“Customer.product_id”在选择列表中无效,因为它未包含在聚合函数或 GROUP BY 子句中。
根据这篇文章,它只能获取 GROUP BY 列表中的列。
但如何获得添加的属性和聚合结果呢?喜欢:
{
'total_price': 2000,
'name': 'Jack',
'status': 'Paid'
}
Run Code Online (Sandbox Code Playgroud)
应该做 2 在函数中获取数据,就像首先获取聚合,然后获取另一个数据。我担心有可能返回不相关的数据。
我在Yii2中有一个项目,它使用PHPExcel库来读取Excel文件.我有一个Transaction Id列,其中包含General format单元格中的数据.我的Excel文件的屏幕截图:

你可以看到上面,如果我输入15个字符的数字并在其中放入两个点.它将显示为数字.
First Ex:输入=> 800.003.151476962在单元格中显示为
并且在Formula Bar中显示为

但如果在内部输入15个没有点数的字符,它将显示为科学记数法/指数.
第二个例子:输入=> 800003151476925在单元格中显示为
=> 科学记数法/指数数据格式,在公式栏中显示为

当我尝试读取PHP中的数据时,我的PHP会将Second Ex数据读作科学记数法/指数格式而不是字符串/数字/小数.
如何在我的PHP 中将第二次Ex数据作为800003151476925(无论是字符串,数字还是十进制格式)而不是8.00003E + 14?
谢谢 :)
注:其实我已阅读并尝试在建议转换指数在PHP中的一个整数,转换指数数小数在PHP,转换指数数在PHP为十进制,但我什么也没得到.
我正在尝试使用 PHPExcel 库导入 CSV 文件。我的 CSV 文件使用\t或tab作为分隔符。
因此,当我尝试在屏幕上打印结果时,每个逗号都被视为新单元格,就像这样

但实际上我需要将每一行导出为一行数据,并为每个制表符分隔符用引号( “ )分隔,就像这个一样

这是我在控制器中用于读取和写入数据的代码:
$worksheet = $objPHPExcelDetail->getActiveSheet();
foreach ($worksheet->getRowIterator() as $row) {
echo '<pre>';
echo 'Row number: ' . $row->getRowIndex() . "\r\n";
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
foreach ($cellIterator as $cell) {
if (!is_null($cell)) {
echo 'Cell: ' . $cell->getCoordinate() . ' - ' . $cell->getValue() . "\r\n";
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何读取带\t分隔符的 …
我的表单中有一个工作职位的文本字段,我需要添加如下验证:
拒绝符号例外:-、,、.、 和/
允许字母、数字和空格
我在modal.php中添加了这样的内容
'pattern' => '/^[a-zA-Z.,-]+(?:\s[a-zA-Z.,-]+)*$/'
Run Code Online (Sandbox Code Playgroud)
它几乎工作得很好,它是拒绝/和数字的。
任何人都可以修复我上面的模式,这样它就可以像我上面的要求一样工作。
谢谢
我正在尝试使用javascript修改字符串。我应该将所有空格替换为-,除了空格在破折号之前或之后。
例如:
const url= 'This is an - url';
let newUrl = url.replace(/\s+/g,'-');
let newUrlLowerCase = newUrl.toLowerCase();
Run Code Online (Sandbox Code Playgroud)
这给了我结果this-is-an---url,我需要的是this-is-an-url
如何使用JavaScript做到这一点?
php ×4
javascript ×2
phpexcel ×2
regex ×2
yii2 ×2
csv ×1
docker ×1
exponential ×1
kartik-v ×1
node.js ×1
postgresql ×1
sequelize.js ×1
sql-server ×1
ubuntu-14.04 ×1