如果['名称']超过15个字符,请更改字体大小

时间:2015-11-04 22:32:57

标签: javascript php mysql css 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)但是Oxlade-Chamberlain正在弄乱一切(http://jterweele.informatica.bc-enschede.nl/speler.php?id=6997

编辑:我找到了答案。

2 个答案:

答案 0 :(得分:3)

我建议在文本周围包裹<span>,然后设置一个类

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. 如果由于特殊情况需要操纵长度值(即,如果姓氏是 McDonald 并且大写字母设置为显示为常规字母的两倍大并且你想为每个大写字母添加+1长度

  2. 由于某种原因导致strlen()被弃用的罕见事件,您需要将其更改为新功能,或者即使您要使用自己的strlen()函数,也只使用此代码需要一次改变它

答案 1 :(得分:-1)

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

1.首先包括jQuery库:

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

2.其次使用此代码:

<?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>