Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php] szukanie pustych rekordów z 3 baz
Forum PHP.pl > Forum > Bazy danych > MySQL
migo
Witam,

poszukuję sposoby który znajdywał by mi puste miejsca do wstawienia nowego obiektu.

Wyjaśnię. Mam 3 tabele miasta, puste_miasta, punkty, wszystkie tabele służą do zaznaczania odpowiednich obiektów na mapie.
Mam problem ze zrobieniem zapytania które znajdzie pole w 3 tabelach bazy które nie jest używane przez żaden obiekt, i stworzy na nim nowe miasto.

Posiadam taki kod do szukania w jednej tabeli:

  1. $mapa = array();
  2.  
  3. for($i = 1; $i <= $maxX; $i++){
  4.  
  5. for($j = 1; $j <= $maxY; $j++){
  6.  
  7. $mapa[$i][$j] = 0;
  8.  
  9. }
  10.  
  11. }
  12.  
  13.  
  14. $miasta = mysql_query("select * from miasta");
  15.  
  16. while ($miasto = mysql_fetch_array($miasta)){
  17.  
  18. unset($mapa[$miasto['x']][$miasto['y']]);
  19.  
  20. if(empty($mapa[$miasto['x']])) unset($mapa[$miasto['x']]);
  21.  
  22. }
  23.  
  24. if(empty($mapa)) {
  25.  
  26. header('location: ?a=limit');
  27.  
  28. return 1;
  29.  
  30. }
  31.  
  32.  
  33.  
  34. $randX = array_rand($mapa);
  35.  
  36. $randY = array_rand($mapa[$randX]);


Znajduje on puste miejsce na podstawie współrzędnych X i Y.
Jak przerobić ten skrypt aby przeszukiwał 3 tabele a nie jedną.
phpion
W zapytaniu SQL użyj UNION do wybrania rekordów z 3 tabel jako jednego zbioru wynikowego. Pamiętaj tylko o dodaniu dodatkowej kolumny w SELECT, na podstawie której rozróżnisz z której tabeli otrzymałeś konkretne dane.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.