我是Crystal Reports的新手,我使用的是Crystal Reports 11.5版本.
我的要求如下:
目前,我正在使用COM对象使用PHP连接到Crystal Report,并且我能够生成示例静态PDF报告.
我的主要任务是通过从MySQL获取值并将值传递给Crystal Reports并生成PDF来在PHP中进行所有处理.我需要帮助才能完成这项任务.如果有人可以提供示例代码那么它会好得多.
这是我到目前为止:
$my_report = "E:\\xampp\\htdocs\\crystal\\Test1.rpt";
$my_pdf = "E:\\xampp\\htdocs\\crystal\\test.pdf";
$o_CrObjectFactory = new COM('CrystalReports11.ObjectFactory.1');
// Create the Crystal Reports Runtime Application.
$o_CrApplication =$o_CrObjectFactory->CreateObject("CrystalDesignRunTime.Application");
//------ Open your rpt file ------
$creport = $o_CrApplication->OpenReport($my_report, 1);
//------ Connect to DB2 DataBase ------
**this is the hard part where I am not able to complete connection to mysql**
$o_CrApplication->LogOnServer('which library','mlims','root','');
//------ Put the values that you want --------
$creport->RecordSelectionFormula="{parameter.id}='1'";
//------ …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个占位符添加到Angular 4上的选择但是无法使其工作,
这是我的代码:
<select name="edit" [(ngModel)]="edit">
<option [ngValue]="null" disabled [selected]="true"> Please select one option </option>
<option *ngFor="let select of list" [ngValue]="edit"> {{ select }}</option>
</select>
export class AppComponent {
list: any[] = ['1', '2', '3'];
edit: any;
}
Run Code Online (Sandbox Code Playgroud) 我终于设法建立了UPS发货XML请求,我想与其他苦苦挣扎的人分享.因此,根据2017年的最新文档,这是一个完整的PHP面向对象的有效XML.
我这样做是因为互联网上没有很多有用的信息,我想改变它.
此代码还解决了许多常见错误,您可以在StackOverflow上找到这些错误,但大多数情况下没有答案.这不是一个问题,它是未来将要进行UPS发货的人的教程.
我已经设法用我的代码解决了这些常见的UPS错误:
XML文档格式不正确 - >这个错误有点棘手,因为我已经检查了我的XML结构一千次,并且我有100%与文档说的相同但是我有一个旧文档因此很少有东西被改变所以当我重新构建了最新的结构,解决了问题.
XML文档格式正确,但文档无效 - >我真的不知道到底是什么导致了这个错误,但改变了"发送逻辑"有点解决了它(你可以看一下XML结构的结尾如何完成).
在我解决了这两个"最大"错误之后,UPS请求开始工作,并且正在发出正确的错误消息,说明有关错误的更多详细信息......例如"AccessLicenseNumber无效"等等
所以你要做的第一件事就是在UPS网站上注册并从那里下载最新的文档.
注意:此代码发送第一个请求"ConfirmRequest",它将获得响应"ConfirmResponse",第二个请求称为"AcceptRequest",根据下图显示"AcceptResponse"!
您可以在选择器选项中选择两个行星A和B来测量距离.
例如:
if (($planetA == "Nova Terra" || $planetB == "Nova Iaponia") && ($planetA == "Nova Iaponia" || $planetB == "Nova Terra"))
{
echo "From $planetA to $planet B: 290 parsecs";
}
else if (($planetA == "Nova Terra" || $planetB == "Novo Mars") && ($planetA == "Novo Mars" || $planetB == "Nova Terra"))
{
echo "From $planetA to $planet B: 230 parsecs";
}
Run Code Online (Sandbox Code Playgroud)
你读到"从Nova Terra到Nova Iaponia或从Nova Iaponia到Nova Terra".To =和.
这类似于:
if ($planetA == "Nova Terra" || $planetB == "Nova Iaponia") …
Run Code Online (Sandbox Code Playgroud) 我有以下(json)对象:
$obj = json_decode('{
"Group1": {
"Blue": {
"Round": [
"Harold",
"Arthur",
"Tom"
]
},
"Green": {
"Round": [
"Harold"
],
"Circle": [
"Todd",
"Mike"
]
}
},
"Group2": {
"Blue": {
"Round": [
"Peter"
]
}
}
}', true);
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何递归遍历它,这样我就可以看到数组中的所有不同路径.
它可以是4个独立的回声或4行的回声.在>
可以与任何事或什么都没有更换.如果每条线都单独回显或推送到可能提供最大灵活性的阵列.
Group1 - Blue - Round - (Harold, Arthur, Tom)
Group1 - Green - Round - (Harold)
Group1 - Green - Circle - (Todd, Mike)
Group2 - Blue - Round - (Peter)
Run Code Online (Sandbox Code Playgroud)
我无法绕过它,所以任何帮助都会受到赞赏.
我想我可以以某种方式循环每个像:
foreach($obj as $index …
Run Code Online (Sandbox Code Playgroud) 我试图通过POST将JavaScript数组发送到PHP文件.
JS:
var songlist = ['song1', 'song2', 'song3'];
var sendData = function(){
var data = songList.join(',')
$.post('test.php', {data: data}).always(function() {
window.location = 'test.php';
});
}
sendData();
Run Code Online (Sandbox Code Playgroud)
test.php的:
<?php
$songData = $_POST['data'];
$songData = explode(',', $songData);
print_r(array_values($songData));
?>
Run Code Online (Sandbox Code Playgroud)
当sendData(); 指导我test.php我得到:
注意:未定义的索引:数据
当我尝试打印或使用它时,为什么数据变量没有任何值?
我在vue.js中建立了一个商店,可以访问compoenent的计算部分中的状态参数:
computed: {
BASE_URL () {
return this.$store.state.BASE_URL;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在同一组件的方法中访问商店时:
methods: {
register: function () {
axios.post( this.BASE_URL + "/web/register", {
username: this.username,
password: this.password,
email: this.email
}).then(function(data){
this.$store.commit('saveToken', data.token);
console.log('token is set to:', this.$store.state.token)
});
}
},
Run Code Online (Sandbox Code Playgroud)
我在控制台上收到此错误:
未捕获(承诺)TypeError:无法读取未定义的属性'$ store'
我也试过但$store
没有this
得到同样的错误.
这有什么不对?我该如何解决?
目标是在商品名称传递到我们的付款网关时更改其名称,但将其保持原样显示在我们的产品页面上。
我已经在我的functions.php中尝试过此操作:
function change_item_name( $item_name, $item ) {
$item_name = 'mydesiredproductname';
return $item_name;
}
add_filter( 'woocommerce_order_item_name', 'change_item_name', 10, 1 );
Run Code Online (Sandbox Code Playgroud)
但这似乎对我没有用。我觉得我应该传递一个实际的商品ID或其他东西……我有点迷失了。
我在这里做错了什么的任何信息,将不胜感激。
我正在进行代码更改以将.then(func {})样式代码转换为异步等待.
在我的示例中,从那时转换为异步等待,无法并行查询API并按请求完成的顺序处理它们,因为两个请求彼此独立.
这是两种语法之间的有效区别还是只是将两个函数分成两个单独的异步函数才能使它们并行运行?
升级前的示例代码:
componentDidMount() {
this.loadLists();
}
loadLists() {
console.log('start 1');
api.get('/url/1').then(function(r) {
console.log('done 1', r.body);
});
console.log('start 2');
api.get('/url/2').then(function(r) {
console.log('done 2', r.body);
});
}
//OUTPUT
//start 1
//start 2
//done 1
//done 2
Run Code Online (Sandbox Code Playgroud)
升级后的示例代码:
componentDidMount() {
this.getLists();
}
async getLists() {
console.log('start 1');
var res = await api.get('/url/1');
console.log('done 1', res.body);
console.log('start 2');
var res2 = await api.get('/url/2');
console.log('done 2', res2.body);
}
//OUTPUT
//start 1
//done 1
//start 2
//done 2
Run Code Online (Sandbox Code Playgroud)
编辑:
如果功能分为两个async …