Merlin8771
Merlin8771

Reputation: 369

How do I stop my sql query from displaying the results twice?

How do I stop the results from getting displayed twice on the web page? What have I done wrong? Yes this is for a game but it helps me learn SQL and PHP. Please be genital it's my first time. There is one database with two tables. The database is game_tittle the two tables are player_data and the second is character_data.

<?php  
include('db_conn.php');
#for connecting to SQL
$sqlget = "SELECT player_data.PlayerName, Character_data.Duration, character_data.KillsZ, character_data.KillsB, character_data.KillsH, character_data.HeadshotsZ, character_data.Humanity, character_data.Generation, character_data.InstanceID FROM player_data, character_data";
$sqldata = mysqli_query($dbcon, $sqlget) or die('error getting data');
echo "<center><table>";
echo "<tr> <th>Player Name</th><th>play time</th><th>Total Kills</th><th>Bandit kills</th><th>Hero Kills</th><th>Head shots</th><th>Humanity</th><th>Alive count</th><th>Instance ID</tr>";
  while ($row = mysqli_fetch_array($sqldata)) {

    echo "<tr><td>";
    echo $row['PlayerName'];
    echo "</td><td>";
    echo $row['Duration'];
    echo "</td><td>";
    echo $row['KillsZ'];
    echo "</td><td>";
    echo $row['KillsB'];
    echo "</td><td>";
    echo $row['KillsH'];
    echo "</td><td>";
    echo $row['HeadshotsZ'];
    echo "</td><td>";
    echo $row['Humanity'];
    echo "</td><td>";
    echo $row['Generation'];
    echo "</td><td>";
    echo $row['InstanceID'];
    echo "</td></tr>";
    echo "</center>";
    }

    echo "</table>";
    #end of table



?>

Got it to work this way.

<?php  
include('db_conn.php');
$sqlget = "SELECT player_data.PlayerUID, character_data.PlayerUID, player_data.PlayerName, character_data.HeadshotsZ, character_data.KillsZ, character_data.KillsH, character_data.KillsB, character_data.Alive, character_data.Generation, character_data.Humanity, character_data.InstanceID FROM player_data INNER JOIN character_data ON player_data.PlayerUID = character_data.PlayerUID";
$sqldata = mysqli_query($dbcon, $sqlget) or die('error getting data');
echo "<center><table>";
echo "<tr> <th>Player Name</th><th>Head shots</th><th>Total Kills</th><th>Hero kills</th><th>Bandit Kills</th><th>Live or dead</th><th>Lifes</th><th>Humanity</th><th>Instance ID</tr>";
  while ($row = mysqli_fetch_assoc($sqldata)) {

    echo "<tr><td>";
    echo $row['PlayerName'];
    echo "</td><td>";
    echo $row['HeadshotsZ'];
    echo "</td><td>";
    echo $row['KillsZ'];
    echo "</td><td>";
    echo $row['KillsH'];
    echo "</td><td>";
    echo $row['KillsB'];
    echo "</td><td>";
    echo $row['Alive'];
    echo "</td><td>";
    echo $row['Generation'];
    echo "</td><td>";
    echo $row['Humanity'];
    echo "</td><td>";
    echo $row['InstanceID'];
    echo "</td></tr>";
    echo "</center>";
    }

    echo "</table>";
    #end of table



?>

Upvotes: 0

Views: 199

Answers (1)

CFrei
CFrei

Reputation: 3627

Bug in your SQL-query: You forgot to join the tables with a "where"-clause.

Upvotes: 1

Related Questions