Reputation: 557
I have a double search that happens within the script. When it searches for a players gear, it will take the player UID and bring back the name of that player. The only issue is that there may be more than 1 result that will return and it will only display the last UID with the name.
$ip = "localhost";
$user = "******";
$pass = "*******";
$db = "hivemind";
$ill1 = $_POST['search'];
//Database Connection
$con = @mysql_connect("$ip:3316", "$user", "$pass")
or die(mysql_error());
//Select Database
$dbcon = @mysql_select_db($db, $con)
or die(mysql_error());
$sql = mysql_query("select PlayerUID, Inventory, Backpack from character_data where Inventory like '%$ill1%'");
while ($row = mysql_fetch_array($sql)) {
$puid = $row['PlayerUID'];
$inv = $row['Inventory'];
$back = $row['Backpack'];
?>
<html>
<body>
<table>
<tr>
<td><?php echo "$puid"; ?></td>
<td><?php echo "$inv"; ?></td>
<td><?php echo "$back"; ?></td>
</tr>
</table>
</body>
</html>
<?php }?>
<?php
//Database Connection
$con = @mysql_connect("$ip:3316", "$user", "$pass")
or die(mysql_error());
//Select Database
$dbcon = @mysql_select_db($db, $con)
or die(mysql_error());
$sql = mysql_query("select PlayerUID, PlayerName from player_data where PlayerUID like '%$puid%'");
while ($row = mysql_fetch_array($sql)) {
$puid2 = $row['PlayerUID'];
$plnm = $row['PlayerName'];
?>
<html>
<body>
<table>
<tr>
<td><?php echo "$puid"; ?></td>
<td><?php echo "$plnm"; ?></td>
</tr>
</table>
</body>
</html>
}
Upvotes: 0
Views: 302
Reputation: 4185
It is returning all the results. You're not printing them properly.
Move the html,body,table tags outside the while
loop.
Change the loop to:
while ($row = mysql_fetch_array($sql)) {
$puid2 = $row['PlayerUID'];
$plnm = $row['PlayerName'];
echo "<tr><td>".$puid."</td>";
echo "<td>".$plnm."</td></tr>";
}
Upvotes: 1
Reputation: 13785
print below code in loop
<td><?php echo "$puid"; ?></td>
<td><?php echo "$plnm"; ?></td>
you print only one time , so overwrite value.
Upvotes: 0