【问题标题】:TinyButStrong How to compare data value using block with php var?TinyButStrong 如何使用块与 php var 比较数据值?
【发布时间】:2014-01-11 07:15:46
【问题描述】:

环境:PHP 5.3.5 MySQL 服务器 5.5.8

之前使用的是 TBS 3.7.0 现在使用的是 TBS 3.8.2

在我合并到 TBS (TinyButStrong) 的 sql 数据集中,我有一个发件人/收件人信息。我想显示当前不是用户的那个。我无法让 TBS IF THEN 语句正常工作。

在 php 中

$user_id = getUserId(); // returns user id
...
$TBS->MergeBlock('activity',$sql_data);

在 html 中,名字没有被填充,而姓氏是因为我只是直接请求该值,即使它可能是不正确的值。

<li>
   <div id="name">
     <a href="">
        [
         if [activity.sender_id]!=[var.user_id];
           then[activity.sender_firstname];
         else[activity.recipient_firstname];
           block=li;headergrp=message_id;ope=max:12
        ]
        [activity.sender_lastname;block=li;headergrp=message_id;ope=max:12]
      </a>
    </div> 
</li>

我一直在搜索和阅读 TBS 手册,但是使用 if / else with blocks 的例子不是这样的。

有人可以帮我看看我做错了什么吗?

目前我的输出如下所示:

[if1!=2;then Joe;else Jane;block=li;headergrp=message_id;ope=max:12] Doe

当我只想输出 Jane 时。

【问题讨论】:

    标签: php html mysql tinybutstrong


    【解决方案1】:

    您需要一个标签来指示何时要评估 if 语句,否则它将永远不会评估,只需填写变量(这就是您获得该输出的原因)。试试:

    [onshow; 
         if [activity.sender_id]!=[var.user_id];
           then[activity.sender_firstname];
         else[activity.recipient_firstname];
           block=li;headergrp=message_id;ope=max:12
        ]
    

    【讨论】:

    • 通过添加onshow;我没有输出。现在显示多条记录的 div 是空的。是的,我已经打电话给 $TBS->Show();
    • 同样适用于onload;
    • 升级了我的 TBS 它并没有消失它只是增加了 onload;或现场表演;现在到上面的输出。还有什么想法吗?
    • 尝试使用你的块也许[activity;block=li;if...else...]
    • 谢谢。稍后我可能会考虑,但我只是在合并数据之前进行了数据清理,这比用头撞桌子要容易得多。
    【解决方案2】:

    您可以单独使用参数“if”,以便在条件不成立时隐藏值。

    <li>
       <div id="name">
         <a href="">
            [activity.sender_firstname;if [var.user_id]!=[activity.sender_id]]
            [activity.recipient_firstname;if [var.user_id]==[activity.sender_id]]
            [activity.sender_lastname;block=li;headergrp=message_id;ope=max:12]
          </a>
        </div> 
    </li>
    

    还有一个带有条件部分的解决方案,但它们不适用于参数“headergrp”。

    【讨论】:

    • 我稍后会尝试,但我在处理 html 之前过滤了数据并删除了这些条件语句。
    • 你说得对,最好在PHP端准备数据。
    猜你喜欢
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多