-3

Explaining the code: This user should click a button which you will see in the code. The button seems not work or something else(that's why i am here) Someone could help me because it don't show the table

<!DOCTYPE html>
<?php 
 include 'connect.php'; // to add sql host,username, pass and connect to database
 if (isset($_POST['page1'])) {
 $page=1; 
 } elseif (isset($_POST['page2'])) {
 $page=2;
 } elseif (isset($_POST['page3'])) {
 $page=3;
 } elseif (isset($_POST['page4'])) {
 $page=4;
 } elseif (isset($_POST['page5'])) {
 $page=5;
 } elseif (isset($_POST['page6'])) {
 $page=6;
}

?>

<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container page-header jumbotron">
<center>
<form class="form-horizontal" method="post">
 <button id="page1" name="page1" class="btn btn-primary">Experience</button>
 <button id="page2" name="page2" class="btn btn-primary">Magic Level</button>
 <button id="page3" name="page3" class="btn btn-primary">Distance</button>
 <button id="page4" name="page4" class="btn btn-primary">Sword</button>
 <button id="page5" name="page5" class="btn btn-primary">Axe</button>
 <button id="page6" name="page6" class="btn btn-primary">Club</button>
</form>
</center>
</div>
<div class="container">                                                                                     
  <div class="table-responsive table-hover">          
  <table class="table">
    <thead>
      <tr class="info">
  <th>#Rank</th>
        <th>#Player Name</th>
        <th>#Level</th>
  <?php ?>
      </tr>
    </thead>
 <tbody>
<?php

 $dataexp = "SELECT `name`, `level` AS `value` FROM `players` ORDER BY `experience` DESC limit 0, 100;";
 $dataML = "SELECT `name`, `maglevel` FROM `players` ORDER BY `maglevel` DESC limit 0, 100;";
 $datadist = "SELECT `name`, `skill_dist` FROM `players` ORDER BY `skill_dist` DESC limit 0, 100;";
 $datasword = "SELECT `name`, `skill_sword` FROM `players` ORDER BY `skill_sword` DESC limit 0, 100;";
 $dataaxe = "SELECT `name`, `skill_axe` FROM `players` ORDER BY `skill_axe` DESC limit 0, 100;";
 $dataclub = "SELECT `name`, `skill_club` FROM `players` ORDER BY `skill_club` DESC limit 0, 100;";
 
 $result = mysql_query($dataexp, $connection);
 $resultML = mysql_query($dataML, $connection);
 $resultdist = mysql_query($datadist, $connection);
 $resultsword = mysql_query($datasword, $connection);
 $resultaxe = mysql_query($dataaxe, $connection);
 $resultclub = mysql_query($dataclub, $connection);
 
 if(page === 1) {
  $nexterrow = mysql_num_rows($result);
  $finalresult = $result;
 } elseif (page === 2) {  
  $nexterrow = mysql_num_rows($resultML);
  $finalresult = $resultML;
 } elseif (page === 2) {
  $nexterrow = mysql_num_rows($resultdist);
  $finalresult = $resultdist;
 } elseif (page === 2) {
  $nexterrow = mysql_num_rows($resultsword);
  $finalresult = $resultsword;
 } elseif (page === 2) {
  $nexterrow = mysql_num_rows($resultaxe);
  $finalresult = $resultaxe;
 } elseif (page === 2) {
  $nexterrow = mysql_num_rows($resultclub);
  $finalresult = $resultclub;
 }
   $i = 0;
   
   
 if($nexterrow) {
  while($row = mysql_fetch_row($finalresult)) {
   echo '<tr>';
    $i = $i + 1;
   echo '<td>'.$i.'</td>';
   foreach($row as $value) {      
    echo '<td>'.$value.'</td>';
   }
   echo '</tr>';
  }
 }
 
  
?>
    </tbody>
  </table>
  </div>
</div>

</body>

</html>
Slavi
  • 576
  • 1
  • 3
  • 18
  • Variables start with `$`. Not like `if(page === 1) {`. – Jonnix Oct 19 '15 at 13:31
  • 1
    ***What's wrong on that code?*** -- Let's start with the use of the deprecated function `mysql_`, instead of `mysqli_` ones, or even better, `PDO`. Then we can go on to the fact that you have error_display disabled in your php.ini, because you code has plenty of syntax errors but you're clueless about what's going on, when you should be reading a bunch of error messages. – al'ein Oct 19 '15 at 13:31
  • use if($page === ... – Julio Soares Oct 19 '15 at 13:32
  • Also, you don't have any handling for pages that don't have a page provided. – Jonnix Oct 19 '15 at 13:33
  • @Shockwave What? What difference would that make? – Jonnix Oct 19 '15 at 13:34

2 Answers2

0

shouldn't that

if(page === 1) {
    $nexterrow = mysql_num_rows($result);
    $finalresult = $result;
} elseif (page === 2) {     
    $nexterrow = mysql_num_rows($resultML);
    $finalresult = $resultML;
} elseif (page === 2) {
    $nexterrow = mysql_num_rows($resultdist);
    $finalresult = $resultdist;
} elseif (page === 2) {
    $nexterrow = mysql_num_rows($resultsword);
    $finalresult = $resultsword;
} elseif (page === 2) {
    $nexterrow = mysql_num_rows($resultaxe);
    $finalresult = $resultaxe;
} elseif (page === 2) {
    $nexterrow = mysql_num_rows($resultclub);
    $finalresult = $resultclub;

be

if($page === 1) {
    $nexterrow = mysql_num_rows($result);
    $finalresult = $result;
} elseif ($page === 2) {        
    $nexterrow = mysql_num_rows($resultML);
    $finalresult = $resultML;
} elseif ($page === 3) {
    $nexterrow = mysql_num_rows($resultdist);
    $finalresult = $resultdist;
} elseif ($page === 4) {
    $nexterrow = mysql_num_rows($resultsword);
    $finalresult = $resultsword;
} elseif ($page === 5) {
    $nexterrow = mysql_num_rows($resultaxe);
    $finalresult = $resultaxe;
} elseif ($page === 6) {
    $nexterrow = mysql_num_rows($resultclub);
    $finalresult = $resultclub;

mind the missing $ and the === 2 repetition!

Axel Amthor
  • 10,980
  • 1
  • 25
  • 44
0

The button doesn't do anything because it does not submit the form.

Change the button code as follows:

<button type="submit" id="page1" name="page1" value="page1" class="btn btn-primary">Experience</button>
<button type="submit" id="page2" name="page2" value="page2" class="btn btn-primary">Magic Level</button>

adding a name and value attribute.

Next, you can verify the contents of POST as follows:

if (isset($_POST['page']))
        switch($_POST['page']){
            case 'page1':
                $page=1;
            break;
            case 'page2':
                $page=2;
            break;
            case 'page3':
                $page=3;
            break;
            case 'page4':
                $page=4;
            break;
            case 'page5':
                $page=5;
            break;
            case 'page6':
                $page=6;
            break;
            default:
                $page=999;//use this to your liking
            break;
        }
}
Alex Andrei
  • 7,315
  • 3
  • 28
  • 42