PHP expert |
|
Ik heb een tabel waar allemaal plaatsen in staan, Die plaatsen haal ik op dmv een cookie waar het land in staat. Zoals je al raad moeten dus alleen die plaatsen uit de database getrokken worden. Dit lukt nu wel maar ik wil ze zo hebben:
Citaat: Land 1 | Land 2 | Land 3
Land 4 | Land 5 | Land 6
Land 7 | Land 8 | Land 9
Ik had het eerst met een for loop gedaan maar als ik er nou een land tussen staat en die heeft niet het continent nummer dat gelijk is aan de cookie dan blijft er een open plek. Ik had het als volgt gedaan (beetje heel moeilijk volgens mij )
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr>
<td style="width: 33%" valign="top">
<?php
for($i = mysql_result($min, 0); $i <= mysql_result($max, 0); $i+=3)
{
$select = mysql_query("SELECT *
FROM cities
WHERE country = ". $_COOKIE['Country'] ."
AND id = ". $i ."") or die(mysql_error());
while($arr = mysql_fetch_array($select))
{
?>
<a href="#" OnClick="SetCookie('City', '<?= $arr['id'] ?>'); Modalbox.show('Finish', 'location.php?lang=<?= $_GET['lang'] ?>&act=Finish', {width: 500});"><?= str_replace(array('_', 'ë', 'ï'), array(' ', 'e', 'i'), $arr['city']) ?></a><br />
<?php
}
}
?>
</td>
<td style="width: 33%" valign="top">
<?php
for($i = mysql_result($min, 0) +1; $i <= mysql_result($max, 0); $i+=3)
{
$select = mysql_query("SELECT *
FROM cities
WHERE country = ". $_COOKIE['Country'] ."
AND id = ". $i ."") or die(mysql_error());
while($arr = mysql_fetch_array($select))
{
?>
<a href="#" OnClick="SetCookie('City', '<?= $arr['id'] ?>'); Modalbox.show('Finish', 'location.php?lang=<?= $_GET['lang'] ?>&act=Finish', {width: 500});"><?= str_replace(array('_', 'ë', 'ï'), array(' ', 'e', 'i'), $arr['city']) ?></a><br />
<?php
}
}
?>
</td>
<td style="width: 33%" valign="top">
<?php
for($i = mysql_result($min, 0)+2; $i <= mysql_result($max, 0); $i+=3)
{
$select = mysql_query("SELECT *
FROM cities
WHERE country = ". $_COOKIE['Country'] ."
AND id = ". $i ."") or die(mysql_error());
while($arr = mysql_fetch_array($select))
{
?>
<a href="#" OnClick="SetCookie('City', '<?= $arr['id'] ?>'); Modalbox.show('Finish', 'location.php?lang=<?= $_GET['lang'] ?>&act=Finish', {width: 500});"><?= str_replace(array('_', 'ë', 'ï'), array(' ', 'e', 'i'), $arr['city']) ?></a><br />
<?php
}
}
?>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" style="width: 100%"> <tr> <td style="width: 33%" valign="top"> <?php { FROM cities WHERE country = ". $_COOKIE['Country'] ." { ?> <a href="#" OnClick="SetCookie('City', ' <?= $arr['id'] ?>'); Modalbox.show('Finish', 'location.php?lang= <?= $_GET['lang'] ?>&act=Finish', {width: 500});"> <?= str_replace(array('_', 'ë', 'ï'), array(' ', 'e', 'i'), $arr['city']) ?></a><br /> <?php } } ?> </td> <td style="width: 33%" valign="top"> <?php { FROM cities WHERE country = ". $_COOKIE['Country'] ." { ?> <a href="#" OnClick="SetCookie('City', ' <?= $arr['id'] ?>'); Modalbox.show('Finish', 'location.php?lang= <?= $_GET['lang'] ?>&act=Finish', {width: 500});"> <?= str_replace(array('_', 'ë', 'ï'), array(' ', 'e', 'i'), $arr['city']) ?></a><br /> <?php } } ?> </td> <td style="width: 33%" valign="top"> <?php { FROM cities WHERE country = ". $_COOKIE['Country'] ." { ?> <a href="#" OnClick="SetCookie('City', ' <?= $arr['id'] ?>'); Modalbox.show('Finish', 'location.php?lang= <?= $_GET['lang'] ?>&act=Finish', {width: 500});"> <?= str_replace(array('_', 'ë', 'ï'), array(' ', 'e', 'i'), $arr['city']) ?></a><br /> <?php } } ?> </td> </tr> </table>
Mijn vraag is ook hoe kan ik dit makkelijker doen (1 query als mogelijk is en dan zonder die for want als de plaatsen id 1 tot 6 hebben lukt het wel maar heeft een plaats in een ander land id 4 dan blijft plek 4 gewoon leeg.. (is wel logisch btw )
|