Ciao a tutti,
ho un database strutturato così:
X, Y, type, subtype
e questo codice:
Il problema è che mi restituisce oltre 600 righe (quando mi dovrebbe restituire solo 25) perché specifico tutto con questo:Codice PHP:<?php
$user_xcoord = $_GET['xcoord'];
$user_ycoord = $_GET['ycoord'];
$user_xcoord_min = $user_xcoord - 2;
$user_xcoord_max = $user_xcoord + 2;
$user_ycoord_min = $user_ycoord - 2;
$user_ycoord_max = $user_ycoord + 2;
$query = "SELECT * FROM world_map WHERE (x_coord BETWEEN $user_xcoord_min AND $user_xcoord_max) AND (y_coord BETWEEN $user_ycoord_min AND $user_ycoord_max)";
$result = mysql_query($query);
?>
<?php
while ($row=mysql_fetch_array($result)) {
for ($k = 2; $k >= -2; $k--)
{
for ($j = -2; $j <= 2; $j++)
{
$st_x = ($k + 2) * 40 + ($j + 2) * 40;
$st_y = (2 - $k) * 20 + ($j + 2) * 20;
?>
<img style='position:absolute;left:<?php echo $st_x; ?>px;top:<?php echo $st_y; ?>px;width:80px;height:80px;' src='images/<?php echo $row['type'] . $row['subtype']; ?>.png'>
<?php
}
}
}
?>
se metto solo i FOR non c'è il problema, (però non posso 'conoscere' i type) se metto solo il while funziona (però non posso modificare LEFT e TOP)Codice PHP:
$user_xcoord_min = $user_xcoord - 2;
$user_xcoord_max = $user_xcoord + 2;
$user_ycoord_min = $user_ycoord - 2;
$user_ycoord_max = $user_ycoord + 2;
$query = "SELECT * FROM world_map WHERE (x_coord BETWEEN $user_xcoord_min AND $user_xcoord_max) AND (y_coord BETWEEN $user_ycoord_min AND $user_ycoord_max)";
$result = mysql_query($query);
in cosa sbaglio? GRAZIE!

Rispondi quotando

