web-dev-qa-db-fra.com

Comment corriger l'erreur de syntaxe, erreur T_IF inattendue dans php?

Erreur d'analyse: erreur de syntaxe, T_IF inattendu dans view.php à la ligne 27

Je ne vois vraiment aucun problème dans mon code, pourquoi cela se produit, aidez s'il vous plaît. Je suis débutant en PHP

Où ma LIGNE 21 est >> if (isset ($ _GET ['page'])) && is_numeric ($ _GET ['page'])))

if ($result = $mysqli->query("SELECT * FROM players ORDER BY id"))
{
    if ($result->num_rows > 0)
    {
        $total_result = $result->num_rows;
        $total_pages = ceil($total_result / $per_page)

        if(isset($_GET['page']) && is_numeric($_GET['page']))
        {
            $show_page = $_GET['page'];

            if ($show_page > 0 && $show_page <= $total_pages)
            {
                $start = ($show_page - 1) * $per_page;
                $end = $start + $per_page;
            }
            else
            {
                $start = 0;
                $end = $per_page;
            }               

        }
        else
        {
            $start = 0;
            $end = $per_page;
        }


        //display paginations
        echo "<p> View pages: ";
        for ($i=1; $i < $total_pages; $i++)
        { 
            if (isset($_GET['page']) && $_GET['page'] == $i)
            {
                echo  $i . " ";
            }
            else
            {
                echo "<a href='view-pag.php?$i'>" . $i . "</a> | ";
            }

        }
        echo "</p>";

    }
    else
    {
        echo "No result to display.";
    }

}
else
{
    echo "Error: " . $mysqli->error;
}
34
STEEL

Les erreurs de l'analyseur PHP prennent un certain temps pour s'y habituer; si elle se plaint d'un "quelque chose" inattendu à la ligne X, commencez par regarder la ligne X-1. Dans ce cas, il ne vous dira pas que vous avez oublié un point-virgule à la fin de la ligne précédente, mais se plaindra du if qui vient ensuite.

Tu t'y habitueras :)

128
Ja͢ck

ajoutez le point-virgule à la ligne précédente:

$total_pages = ceil($total_result / $per_page);
5
Robbie

Voici le problème

  $total_result = $result->num_rows;

essaye ça

<?php
if ($result = $mysqli->query("SELECT * FROM players ORDER BY id"))
{
    if ($result->num_rows > 0)
    {
        $total_result = $result->num_rows;
        $total_pages = ceil($total_result / $per_page);

        if(isset($_GET['page']) && is_numeric($_GET['page']))
        {
            $show_page = $_GET['page'];

            if ($show_page > 0 && $show_page <= $total_pages)
            {
                $start = ($show_page - 1) * $per_page;
                $end = $start + $per_page;
            }
            else
            {
                $start = 0;
                $end = $per_page;
            }               

        }
        else
        {
            $start = 0;
            $end = $per_page;
        }


        //display paginations
        echo "<p> View pages: ";
        for ($i=1; $i < $total_pages; $i++)
        { 
            if (isset($_GET['page']) && $_GET['page'] == $i)
            {
                echo  $i . " ";
            }
            else
            {
                echo "<a href='view-pag.php?$i'>" . $i . "</a> | ";
            }

        }
        echo "</p>";

    }
    else
    {
        echo "No result to display.";
    }

}
else
{
    echo "Error: " . $mysqli->error;
}


?>
0
Moyed Ansari