Struktura tabeli dla `miasta`
--
CREATE TABLE IF NOT EXISTS `miasta` (
`miasto` varchar(100) collate utf8_unicode_ci NOT NULL,
`user` varchar(100) collate utf8_unicode_ci NOT NULL,
`koord` int(11) NOT NULL,
`koordx` int(11) NOT NULL,
`koordy` int(11) NOT NULL,
`mapa` int(11) NOT NULL,
`nacja` varchar(100) collate utf8_unicode_ci NOT NULL,
`obrazek_miasta` varchar(100) collate utf8_unicode_ci NOT NULL,
`koordxduzy` int(11) NOT NULL,
`koordyduzy` int(11) NOT NULL,
`swiat` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Struktura tabeli dla `zablokowane`
--
CREATE TABLE IF NOT EXISTS `zablokowane` (
`miasto` varchar(100) collate utf8_unicode_ci NOT NULL,
`user` varchar(100) collate utf8_unicode_ci NOT NULL,
`koord` int(11) NOT NULL,
`koordx` int(11) NOT NULL,
`koordy` int(11) NOT NULL,
`mapa` int(11) NOT NULL,
`nacja` varchar(100) collate utf8_unicode_ci NOT NULL,
`obrazek_miasta` varchar(100) collate utf8_unicode_ci NOT NULL,
`koordxduzy` int(11) NOT NULL,
`koordyduzy` int(11) NOT NULL,
`swiat` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Cytat(zegarek84 @ 5.10.2009, 15:33:26 )

dopiero pisałeś, że pętla newet nie startuje ;p - nie czytasz ze zrozumieniem - pisałem, że logikę z tymi ifami masz pomieszaną a nie znam struktury bazy i założenia aplikacji (przy okazji masz 100% pewności że będzie tylko 1 wynik wyszukiwania w bazie??)
losuję dwie liczby, pole i mapa.
Wrzucam je do pętli, i jeśli takiego zestawu nie ma w tabeli (miasta) i 2 tabeli (zablokowane)- to wrzucam do tabeli (miasta) wylosowane rekordy.
Ale jeśli będą już takie rekordy w 1 lub 2 tabeli- to losuję ponownie liczby pole i mapa( za pomoca rand())- i wykonuję ponownie tą pętlę sprawdzając powyższe warunki. Aż do skutku.
Ale jakoś mi nie idzie

Witam.
Zmodyfikowałem pętelkę- i teraz jest ok.
$mapastart=1;
$mapakoniec=30;
$mapa1=rand($mapastart,$mapakoniec);// $wyjdz = true;
while($wyjdz) {
$zapytanie="SELECT * FROM miasta WHERE mapa='$mapa1' AND koord='$pole1' ";
if( $cnt == 0 ) {
$zapytanie1="SELECT * FROM zablokowane WHERE mapa='$mapa1' AND koord='$pole1' ";
}
if( $cnt == 0 ) {
$zapytanie2="SELECT * FROM koordy WHERE nr_mapy='$mapa1' AND numer='$pole1' AND rodzaj != 'morze' ";
if( $cnt == 1 ) $wyjdz = false ;
}
if( $wyjdz ) {
$mapa=rand($mapastart,$mapakoniec); }
}