如果 ['Name'] 超过 15 个字符,更改 font-size

If ['Name'] is longer than 15 characters, change font-size

我和足球运动员一起工作,但是像 Oxlade-Chamberlain 这样的球员在卡片上显示起来太大了,所以我想在超过 15 个字符时更改字体大小。我用这个

<?php 
  $sql = "SELECT * FROM `15players` WHERE `id`=" . $row['id'] . ""; 
  $result = mysql_query($sql) or die('Query failed: ' . mysql_error());
  $row = mysql_fetch_array($result);
  if($row['Common_Name'] === NULL)
    echo  $row['Last_Name'];
  else
    echo $row['Common_Name'];
  if ($row['Common_Name'] > 14 )
     ?>

所以我想将 if ($row['Common_Name'] > 14 ) 更改为可以在字体变大(超过 14 个字符)时更改字体大小的内容

就像施魏因施泰格一样完美 (http://jterweele.informatica.bc-enschede.nl/speler.php?id=823) but Oxlade-Chamberlain is messing up everything (http://jterweele.informatica.bc-enschede.nl/speler.php?id=6997)

编辑:我找到了答案。

我建议用 <span> 包裹文本,然后设置 class

if($row['Common_Name'] === NULL)
{
    echo $row['Last_Name'];
}
else
{
    // since you are outputting $row['Common_Name'] to the page i am assuming 
    // it's a string and if you want to check the length you want strlen
    if (strlen($row['Common_Name']) > 14 )
    {
        echo "<span class='smaller'>".$row['Common_Name']."</span>";
    }
    else
    {
        echo $row['Common_Name'];
    }
}

上面的代码应该符合你的目的,但如果你想改进它,你可以这样做

$name = "";
if($row['Common_Name'] === NULL)
{
    $name = $row['Last_Name'];
}
else
{
    $name = $row['Common_Name'];
}

echo "<span class='";
$nameLen = strlen($name);
switch (true) 
{
    case $nameLen > 14:
        echo "smaller";
        break;
    case $nameLen > 20:
        echo "evenSmaller";
        break;
    default:
        echo "normal";
}
echo "'>".$name."</span>";

使用此代码,无论选择 $row['Last_Name']$row['Common_Name'] 还是其他任何内容(因为姓氏本身可能很长,请查看《辛普森一家》中的 Apu),您可以调整大小多种情况。

我将长度存储在变量中的原因有两个

  1. 如果您因为特殊情况需要操作长度值(即如果姓氏是麦当劳并且大写字母设置为显示为是普通字母的两倍大,并且你想为每个大写字母的长度添加 +1)

  2. strlen() 由于某种原因贬值的罕见事件,您需要将其更改为新函数,或者即使您想使用自己的 strlen() 函数,这段代码你只需要修改一次地方

您可以使用 jQuery 执行此操作:

1.Firstly 包含 jQuery 库:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

2.Secondly 使用此代码:

<?php $sql = "SELECT * FROM `15players` WHERE `id`=" . $row['id'] . ""; 
    $result = mysql_query($sql) or die('Query failed: ' . mysql_error());
         $row = mysql_fetch_array($result);
         if($row['Common_Name'] === NULL)
         echo  $row['Last_Name'];
            else
              echo $row['Common_Name'];
?>

<script type="text/javascript">
    $(document).ready(function(){
        _name = "<?php echo $row['Common_Name'] ?>";

        if (_name.length > 14) {
            $('body').css('font-size', '12px');
        };
    });
</script>