PHP/SQL脚本不工作

PHP/SQL脚本不工作,php,sql,mysql,tags,Php,Sql,Mysql,Tags,我正在尝试生成前10个标签,我认为这非常简单 //generate 10 top tags $tagSQL = mysql_fetch_array(mysql_query("SELECT * FROM tags")); $topArray = array(); foreach($tagSQL as $poland) { if($poland["tagID"] == 1) { $topArray[0] = $topArray[1] + 1; }

我正在尝试生成前10个标签,我认为这非常简单

    //generate 10 top tags
$tagSQL = mysql_fetch_array(mysql_query("SELECT * FROM tags"));
$topArray = array();
foreach($tagSQL as $poland)
{
    if($poland["tagID"] == 1)
    {
        $topArray[0] = $topArray[1] + 1;
    }
    if($poland["tagID"] == 2)
    {
        $topArray[1] = $topArray[2] + 1;
    }
    if($poland["tagID"] == 3)
    {
        $topArray[2] = $topArray[3] + 1;
    }
    if($poland["tagID"] == 4)
    {
        $topArray[3] = $topArray[4] + 1;
    }
}
function printTopTags()
{
    $n = 0;
    foreach($topArray as $buddha)
    {
        $n = $n + 1;
        if(sizeOf($topArray) > $n)
        {
            $hersheyBar = " ";
        }
        else
        {
            $hersheyBar = "";
        }
        $finalFinalEndArray = mysql_fetch_array(mysql_query("SELECT tagName FROM tags WHERE tagID = '$buddha'");
        foreach($finalFinalEndArray as $waterBottle)
        {
            echo $waterBottle . $hersheyBar;
        }
    }   
}
我唯一的问题是,它认为我在代码中的某个地方有语法错误,但不管我省略了哪行,语法错误都会保留下来

另外,是否有一种更简单的方法来为10个不同的数组点而不是四个数组点执行if语句?

您在该语句末尾缺少了一个“)”

应该是

$finalFinalEndArray = mysql_fetch_array(mysql_query("SELECT tagName FROM tags WHERE tagID = '$buddha'"));

if-then语句应该可以概括为

    $topArray[($poland["tagID"] - 1)] = $topArray[$poland["tagID"]] + 1;
没有if-then语句

我没有看到任何语法错误。这个脚本还有更多内容吗

编辑:现在看到错误,这一行

$finalFinalEndArray = mysql_fetch_array(mysql_query("SELECT tagName FROM tags WHERE tagID = '$buddha'");
应该是

$finalFinalEndArray = mysql_fetch_array(mysql_query("SELECT tagName FROM tags WHERE tagID = '$buddha'"));

注意额外的)

optimystique关于语法错误的说法是正确的

关于第二个问题,shmeeps的方法适用于本例,但如果您碰巧遇到另一种情况,需要将一个变量与多个不同的值进行比较,则可以使用一个而不是一整组ifs。例如(从上面链接的PHP手册页面):


同:

<?php
switch ($i) {
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
}
?>


另外,查看模式,您可以使用$topArray[($poland[“tagID”]-1)]=$topArray[$poland[“tagID”]]+1;这绝对是一种更好的方法,尤其是当您针对每种情况有不止一行代码时+1.
<?php
switch ($i) {
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
}
?>