Skocz do zawartości

Laczenie dwóch baz danych


mariuszzzzzz

Rekomendowane odpowiedzi

Witam,

mecze sie z tym problemem 2 godziny i bez skutku.

Otoz do tej pory mialem dwie bazy danych na dwoch roznych serwerach. Jedna baza z polskimi noclegami w jezyku polskim a druga niemieckie oczywiscie po niemiecku.

Teraz chcem zlaczyc w jedno. Wszystkie tabele itd. sa takie same.

Ja zrobilem tak zrobilem pliki *.sql z polskiej i niemieckiej bazy. Z tych dwoch zrobilem jeden plik pozmienialem oczywiscie nr id zeby bylo wszystko pokolei i taki blad mi zawsze wychodzi:

"There seems to be an error in your SQL query. The MySQL server error output below, if there is any, may also help you in diagnosing the problem

ERROR: Unknown Punctuation String @ 563

STR: :<

SQL:

INSERT INTO `obiekty` VALUES ....."

sprobowalem tez inaczej. Do polskiej bazy dodalem tylko sam niemieckie plik (chcialem sprawdzic czy to jest czasem sprawa znakow w pisowni) i bez problemu dodalo.

Tak wiec niewiem teraz co mam robic.

Po za tym mam tez inne problemy i pytania.

mam taki kod wynikow w wyszukiwarce:

<?php 

if ($p == 'szukaj') 
{ 

echo '<hr width="100">Suchergebnise:<br><br><br> 

'; 

$kat=$_POST['kat']; 
$kraj=$_POST['kraj']; 
$miasto=$_POST['miasto']; 

if ($kat!="") 
  { 
  $wynik=mysql_query("SELECT * FROM `obiekty` WHERE kat='$kat' LIMIT 0 , 10"); 
  while ($wiersz = mysql_fetch_array($wynik)) 
  { 
  if ($wiersz['id']!=$tablica[0]) 
  { 
  echo '<table> 
	 <tr> 
		<td> 
		   <table width="150"> 
			  <tr> 
				 <td rowspan=8 width="5"> 
					<img border="0" src="'.$wiersz['url1'].'" align="left" width="100"> 
				 </td> 

				 <td> 
					<p class="nazwaobiektu"><b>'.$wiersz['nazwa'].'</b></p> 
				 </td> 
			  </tr> 
			  <tr> 
				 <td> 
					<a href="mailto:'.$wiersz['mail'].'">'.$wiersz['mail'].'</a> 
				 </td> 
			  </tr> 
			  <tr> 
				 <td> 
  '; 

  if ($wiersz['cena1'] < $wiersz['cena2']) 
  {$min=$wiersz['cena1'];} 
  else {$min=$wiersz['cena2'];} 
  if ($cena3 < $min) 
  {$min=$wiersz['cena3'];} 
  else {$min=$min;} 
  if ($wiersz['cena4'] < $min) 
  {$min=$wiersz['cena4'];} 
  else {$min=$min;} 


  echo '<br>'.$min.' - '.$wiersz['cena5'].' z³<br><br> 

				 </td> 
			  </tr> 
			  <tr> 
				 <td> 
  <B>'.$wiersz['miasto'].'</B><br>'; 
	   $q="SELECT * FROM `wojewodztwa` WHERE id='$wiersz[woj]'"; 
		$r=mysql_query($q); 
	 while ($w= mysql_fetch_array($r)) 
	 { 
	 echo $w['nazwa']; 
	 } 
	 echo ' 
				 </td> 
			  </tr> 
			  <tr> 
				 <td> 
				 <a href="index1.php?p=obiekt&o='.$wiersz['id'].'">mehr...</a> 
				 </td> 
			  </tr> 
			  <tr> 
				 <td> 
				 </td> 
			  </tr> 
		   </table> 
		</td> 
	 </tr> 
  </table><br>'; 
  $tablica[0]=$wiersz['id']; 
  } 
  } 
  } 

  if ($miasto!="") 
  { 
  $wynik=mysql_query("SELECT * FROM `obiekty` WHERE miasto='$miasto'"); 
  while ($wiersz = mysql_fetch_array($wynik)) 
  { 
  if ($wiersz['id']!=$tablica[0]) 
  { 
  echo '<table><tr><td><table border=0 width="35"><tr><td rowspan=8 width="5"><img border="0" src="'.$wiersz['url1'].'" align="center" width="100"></td><tr><td></td></tr><td><b>'.$wiersz['nazwa'].'</b></td></tr><tr><td><a href="mailto:'.$wiersz['mail'].'">'.$wiersz['mail'].'</a></td></tr><tr><td> 
  '; 

  if ($wiersz['cena1'] < $wiersz['cena2']) 
  {$min=$wiersz['cena1'];} 
  else {$min=$wiersz['cena2'];} 
  if ($cena3 < $min) 
  {$min=$wiersz['cena3'];} 
  else {$min=$min;} 
  if ($wiersz['cena4'] < $min) 
  {$min=$wiersz['cena4'];} 
  else {$min=$min;} 


  echo '<br>'.$min.' - '.$wiersz['cena5'].' z³<br><br></td></tr><tr><td> 
  <B>'.$wiersz['miasto'].'</B><br>'; 
	   $q="SELECT * FROM `wojewodztwa` WHERE id='$wiersz[woj]'"; 
		$r=mysql_query($q); 
	 while ($w= mysql_fetch_array($r)) 
	 { 
	 echo $w['nazwa']; 
	 } 
	 echo ' 
  </td><td><a href="index1.php?p=obiekt&o='.$wiersz['id'].'">wiêcej...</a></td></tr><tr><td></td></tr></table></td></tr></table><br>'; 
  $tablica[0]=$wiersz['id']; 
  } 
  } 
  } 

  if ($kraj!="") 
  { 
  $wynik=mysql_query("SELECT * FROM `obiekty` WHERE kraj='$kraj' LIMIT 0 , 10"); 
  while ($wiersz = mysql_fetch_array($wynik)) 
  { 
  if ($wiersz['id']!=$tablica[0]) 
  { 
  echo '<table><tr><td><table border=0 width="35"><tr><td rowspan=8 width="5"><img border="0" src="'.$wiersz['url1'].'" align="center" width="100"></td><tr><td></td></tr><td><b>'.$wiersz['nazwa'].'</b></td></tr><tr><td><a href="mailto:'.$wiersz['mail'].'">'.$wiersz['mail'].'</a></td></tr><tr><td> 
  '; 

  if ($wiersz['cena1'] < $wiersz['cena2']) 
  {$min=$wiersz['cena1'];} 
  else {$min=$wiersz['cena2'];} 
  if ($cena3 < $min) 
  {$min=$wiersz['cena3'];} 
  else {$min=$min;} 
  if ($wiersz['cena4'] < $min) 
  {$min=$wiersz['cena4'];} 
  else {$min=$min;} 


  echo '<br>'.$min.' - '.$wiersz['cena5'].' z³<br><br></td></tr><tr><td> 
  <B>'.$wiersz['miasto'].'</B><br>'; 
	   $q="SELECT * FROM `wojewodztwa` WHERE id='$wiersz[woj]'"; 
		$r=mysql_query($q); 
	 while ($w= mysql_fetch_array($r)) 
	 { 
	 echo $w['nazwa']; 
	 } 
	 echo ' 
  </td><td><a href="index1.php?p=obiekt&o='.$wiersz['id'].'">wiêcej...</a></td></tr><tr><td></td></tr></table></td></tr></table><br>'; 
  $tablica[0]=$wiersz['id']; 
  } 
  } 
  } 
} 
?> 
<? 
} 
?>

A teraz mam moje problemy:

1. jak osiagnac jakis odstep miedzy wynikami. Zmienialem kod tysiace razy bez skutku :/

2. zdjecia w wynikach wyszukiwania. Np. jesli nie jest dodany do bazy zadne zdjecie to jak zrobic ze jesli nie ma zdjecia to zeby pokazywal inne zdjecie.jpg?

3. po wypelnieniu formularza dodania obiektu noclegowego do bazy formularz trafia u mnie do "poczekalni" i tam go moge zaakceptowac lub usunac. Jak zaakceptuje to w bazie danych w Field o nazwie "ok" wpisuje automatycznie "yes" a dopoki jest w poczekalnie to ma caly czas "no". Teraz pytanie: jak mozna zrobic tak zeby w wynikach wyszukiwania pokazywaly sie tylko obiekty zaakceptowane?

z gory dziekuje serdecznie za pomoc

Polecam blog o pozycjonowaniu stron w Niemczech - pozycjonowanie Niemcy. Na tym blogu pisze też na temat pozycjonowanie stron w google.de

Odnośnik do komentarza
Udostępnij na innych stronach

Wyeksportuj sobie jedną bazę i wgraj na serwer tam gdzie jest ta druga baza następnie w pętli czytając rekordy SELECT wstawiaj do drugiej INSERET do tego dodaj jeszcze jedną kolumnę z językiem PL - DE itd...

Co do reszty to proponuje nie zabierać się za coś czego się nie potrafi lub dział zlecenia :)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

ok, przyznam ze nie przeczytalem calosci ale operacje laczenia tabel mozna wykonac 1 (slownie: jednym) zapytaniem sql ;)

insert into tabela(pole1, pole2, pole3) values in (select pole1, pole2, pole3 from tabela2 where costam)

(pisalem z pamieci)

:)

pozycjonuj.png
Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności