Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: 2 serwery baz danych wzajemne sprawdzanie
Forum PHP.pl > Forum > PHP
LordRobert1
Witam przechowuje w swojej bazie danych dane pochdodzace np z innego serwera. Gdy wyswietlam strone to system pobiera np 3 dane z mojego serwera i nastepnie sprawdza czy dane te sa aktualne z danymi oryginalnymi na drugim serwerze. No i tutaj pojawia sie problem chodzi o to ze jesli wsrod tych 3 znajdzie sie jeden nie oryginalny to na stronie zobaczymy tylko 2 danych. Wiec nalezaloby ponownie zapytac sie swojej bazy danych i pobrac kolejny rekord i aby suma wynosila znowu 3. Warunek zostanie spelniony gdy dane w mojej bazie beda zgadzaly sie z danymi w bazie 2 na drugim serwerze. I dopiero wtedy wyswietli prawidlowo strone. Prawdopodobnie chodzi o rekurencje, ale nie moge sobie poradzic z tym tematem. Prosze o pomoc Dzieki.
1010
  1. <?
  2.  
  3. //na poczatku wyciagasz 3 rekordy u siebie tak jak masz i potem do zmiennej $ile przypisujesz sobie ile zostało wyświetlonych
  4.  
  5. while($ile<3)
  6. {
  7.   //jak jest mniej niz ile to doczytujesz jedno, sprawdzasz czy moze byc wyswietlone (czy sie zgadza z tamtym serwerem) i jeżeli tak to $ile++;
  8. }
  9.  
  10. ?>
LordRobert1
Wielkie dzieki krazylem wokol tego tematu ale pewnie to przez zmeczenie. Dzieki jeszcze raz za oswiecenie biggrin.gif

P.S. Jest jeszcze maly szczegol w Twoim kodzie petla ktora podales moze trwac nieprzerwanie dlatego trzeba dac 2 warunek wpadlem na to dopiero gdy przenalizowalem Twój kod a oto przyklad kodu ktory bym zastosowal jesli cos nie tak to prosze o uwage smile.gif


while ($ile < 3 || $j < $ilosc_rekordow_w_bazie_do_przepytania)
{
if (jakisrekord_z bazy A == jakis reokrd z bazy cool.gif {
super zapisz ze wszystko okej do bazy i zaznacz status
zwiekzamy
$ile ++;
}
else {
jesli nie ma to wybierz z bazy A nowy rekord ale rozny od poprzedniego
select nowy_rekore i wybierz nowa ilosc rekordow_do_przepytania COUNT(z tabeli) from tabela where nowy_rekordid <> (SELECT nowe_id from tabele where status_ <> status_z_oznaczeniem_juz sprawdzonego_filmu)
$ile - bez zmian
$ilosc_rekordow_w_bazie_do_przepytania sie zmienilo (zminiejszylo sie)
}
j++
}
1010
Tak, rzeczywiście smile.gif
Nie przewidziałem możliwości że baza może się skończyć winksmiley.jpg
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.