0

スクリプト内で発生する二重検索があります。プレイヤーのギアを検索すると、プレイヤーのUIDが取得され、そのプレイヤーの名前が返されます。唯一の問題は、返される結果が複数ある可能性があり、その名前の最後のUIDのみが表示されることです。

$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>
     }
4

2 に答える 2

1

すべての結果を返しています。それらを正しく印刷していません。

html、body、table タグをwhileループの外に移動します。

ループを次のように変更します。

while ($row = mysql_fetch_array($sql)) {

    $puid2 = $row['PlayerUID'];
    $plnm = $row['PlayerName'];
    echo "<tr><td>".$puid."</td>";
    echo "<td>".$plnm."</td></tr>";
} 
于 2012-11-09T06:36:21.947 に答える
0

ループ内のコードの下に印刷

<td><?php echo "$puid"; ?></td>
  <td><?php echo "$plnm"; ?></td>

一度だけ印刷するので、値を上書きします。

于 2012-11-09T06:34:13.680 に答える