1

我在 MySQL 中创建了一个名为“pid”的字段,我在 PHP 编码中在其他变量名称的末尾使用它来指示用户创建了 7 个模板设计中的哪一个。限制为 7,此时他们会收到一条消息,告知他们已达到限制。

当字段为空白时(在用户创建第一个模板之前),我的代码工作除外。当我硬编码一个“0”时,它可以工作。但是,很明显,我需要使用“{pid}”变量来获取数据库中的模板序列。

这是PHP:

<?PHP
  $pid = {pid};
  $total_templates = 7;
  if ($total_templates > $pid) {
    echo "<a href='create.template.php'><img src='create_template.png'></a>";
  } else {
    echo "<b style='color: #CC0000'>Your limit of $pid Templates has been reached";
  }
?>

如何获取代码以将 MySQL 中的空白字段与上述代码一起转换为“0”?

4

4 回答 4

2

最好的方法是将mysql中的默认值设置为0。那么你就没有问题了。

于 2012-05-30T17:45:17.170 回答
2

您总是可以使用intval以将其强制为整数。请参阅http://php.net/manual/en/function.intval.php

if ($total_templates > intval($pid))

虽然我只是在 MySQL 中将 pid 字段的默认值设置为 0。

于 2012-05-30T17:45:48.513 回答
2

如果我理解你的问题,你能不能把它设置为0if it is empty()

$pid={pid};
if(empty($pid))
    $pid = 0;

You can also set the default value for that field in mysql. If you are using phpAdmin, go to the table and click the "Change" action and set the default value there. If you need sql command to do this, I can get that for you too.

于 2012-05-30T17:51:59.753 回答
0

您可以使用三元运算符来设置$pid$pid = ({pid} != '' ? {pid} : '0');

如果有实际值$pid会显示它,否则会显示 0,我还没有测试过这段代码。

更好的方法是在 SQL 中为该字段设置默认值。

有关三元运算符的更多信息

于 2012-05-30T17:50:16.357 回答