0

少し助けが必要です。私はこのページに取り組んでおり、ニック変数に一致するすべての STEAMID とニックネームを表示するにはどうすればよいか考えています。私は現在、LIKE = '%$nick%' を使用して一致するニックネームを見つけていますが、2 人のプレイヤーが Sidewaykill と呼ばれると、1 つしか表示されませんが、すべてを表示したいと考えています。一致するすべてのプレーヤーのニックネームと 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)) {

詳細については、ドキュメントを参照してください。

警告:これらの関数は PHP 5.5 から廃止されました。長い目で見れば、mysqliorを使用する方がはるかに効率的PDOです。

于 2013-05-01T07:33:14.280 に答える