0

我需要一点帮助。我正在处理这个页面,我想知道如何显示与 nick 变量匹配的所有 STEAMID 和昵称。我目前使用 LIKE = '%$nick%' 来查找匹配的昵称,但是如果两个玩家被称为 Sidewaykill,它只会显示一个,但我希望它显示所有。我并不关心它的外观,只要它显示所有匹配的玩家昵称和 STEAMID 即可。谢谢你。

<?php
//Get STEAMID from steamid variable
$nick = mysql_escape_string(stripslashes($_GET["nick"]));
$steamid = $_GET["steamid"];
?>

<!DOCTYPE html>
<html><head><title>Searching for a player steamid</title>
</head>
<body>
<?php

//Connect to database

$sqluser = "----";
$sqlpass = "----";
$hostname = "localhost"; 

//connection to the database

$dbhandle = mysql_connect($hostname, $sqluser, $sqlpass) 
 or die("Unable to connect to MySQL");

//select a database to work with

$selected = mysql_select_db("versound_store",$dbhandle) 
  or die("Could not select database!");

//Attempt to find player SteamID

   $sql1 = "SELECT steamid FROM `vxp_users` WHERE nick LIKE '%$nick%'";
   $res1 = mysql_query($sql1) or trigger_error(mysql_error());
   $row1 = mysql_fetch_assoc($res1);
   $steamid2 = $row1['steamid'];

//Find latest recorded Nickname

   $sql2 = "SELECT nick FROM `vxp_users` WHERE steamid = '$steamid2'";
   $res2 = mysql_query($sql2) or trigger_error(mysql_error());
   $row2 = mysql_fetch_assoc($res2);
   $nick23 = $row2['nick'];



   if (!empty($steamid2)) {

//Write Info

    echo $nick23;
    echo '&nbsp;-&nbsp;';
    echo $steamid2;
    //echo '<br /><br />Last Recorded Steam Name:&nbsp;';
    //echo '<br /><br />Current Steam Name:&nbsp;';
    //echo $currentsteamname;
    echo '<br /><br /><a href="http://versound.org/finder/steamidtoprofile.php?steamid=';
    echo $steamid2;
    echo '" target="_blank">Link to Steam Profile</a>';


   }
   else 
   {
      echo 'The player&nbsp;';
      echo '"';
      echo $nick;
      echo '"';
      echo '&nbsp;was not found in the database. Make sure you have correctly entered their nickname.';
    }
?>
</body>
</html>
4

2 回答 2

1

你需要循环:

while ($row1 = mysql_fetch_assoc($res1)) {
    echo $row1['steamid']; // or store in an array etc.
}
于 2013-05-01T07:31:11.660 回答
1

你有这条线的地方:

$row2 = mysql_fetch_assoc($res2);

您应该用循环替换它。每次你调用mysql_fetch_assoc()它都会带来下一行 - 所以你会使用这样的东西:

while ($row = mysql_fetch_assoc($res2)) {

有关更多详细信息,请参阅文档

警告:mysqli这些函数在 PHP 5.5 中已被弃用 - 从长远来看,使用or会更好PDO

于 2013-05-01T07:33:14.280 回答