Witam.
Stworzyłem 2 bazy danych gdzie w 1 trzymam dane dotyczące fizycznych właściwości przedmiotu potrzebne do wyszukiwarki a w 2 bazie danych opisy tegoż przedmiotu.
Baza danych 1 zawiera 1 tabelę nazwijmy ją wlasciwosciprzedmiotu i posiada wartości : wartosc1, wartosc2, wartosc3, wartosc4, wartosc5 potrzebne do wyszukiwarki (inny plik)
Baza danych 2 zawiera 3 tabele
Tabela 1 - opis fabryki produkującej ten przedmiot - z wartościami : uid - fid oraz opis - ofpl
Tabela 2 - opis właściwości przedmiotu z wartościami : numer ewidencyjny - mmid, skład materiałowy - mmpl
Tabela 3 - opis dodatków dla danego przedmiotu z wartościami : numer ewidencyjny pcid, zawartość - pcpl
Teraz chciałbym utworzyć plik php który wyświetlałby wszystkie dane z bazy danych numer 1 wraz z opisami z bazy danych numer 2 i tabel w nich zawartych. W bazie danych nr1 zawarte są numery ewidencyjne opisów danego przedmiotu dla odpowiednich tabel z bazy danych 2.
Wyświetlanie zawartości odbywa się poprzez pętle w php. Chciałbym aby opisy ładowały się do danego przedmiotu zgodnie z numerem ewidencyjnym przypisanych opisów do niego. Dzięki temu mając bazę danych o zawartości xxx.xxx wpisów nie muszę wpisywać opisów do każdego przedmiotu tylko podaję 3 numery ewidencyjne opisu.
Proszę o pomoc w tym problemie gdyż skrypt, który stworzyłem nie działa. Jestem początkującym webmasterem w kwestii obsługi baz danych i plików php.
Skrypt : na pewno jest zły gdyż pogubiłem się już w nim sam
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>
<body>
<table border="1" cellspacing="2" cellpadding="2">
<tr>
<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif"><b>Tabela 1<b></font></td>
<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif">Tabela 2</font></td>
<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif">Tabela 3</font></td>
<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif">Tabela 4</font></td>
<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif">Tabela 5</font></td>
<td
<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif">Tabela 6</font></td>
<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif">Tabela 7</font></td>
</tr>
<?php
$uzytkownik="uzytkownik1";
$haslo="haslo1";
$uzytkownik2="uzytkownik2";
$haslo2="haslo2";
$polaczenie2 = new mysqli('sql.second.vdl.pl', $uzytkownik2, $haslo2, 'bazadanych2');
if (mysqli_connect_errno() != 0){
echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error
() . '</p>'; }
else {
$polaczenie = new mysqli('sql.second.vdl.pl', $uzytkownik, $haslo, 'bazadanych1');
if (mysqli_connect_errno() != 0){
echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error
() . '</p>'; }
else {
$wynik = @$polaczenie -> query("SELECT * FROM wlasciwosciprzedmiotu ORDER BY kp ASC, kpl ASC, rp ASC, kal ASC, kalx ASC, mp ASC, seria ASC, seria2 ASC, g3 ASC");
if ($wynik === false){
printf("Errormessage: %s\n", mysqli_error
($polaczenie)); $polaczenie -> close();
}
$mmid = @$polaczenie2 -> query
$opis_tabela2 = @$polaczenie2 -> query("SELECT '$mmid' FROM tabela2");
if ($opis_tabela2 === false){
printf("Errormessage: %s\n", mysqli_error
($polaczenie2)); $polaczenie2 -> close();
}
$opis_tabela1 = @$polaczenie2 -> query("SELECT * FROM tabela1 WHERE FID='$fid'");
if ($opis_tabela1 === false){
printf("Errormessage: %s\n", mysqli_error
($polaczenie2)); $polaczenie2 -> close();
}
$opis_tabela3 = @$polaczenie2 -> query("SELECT * FROM tabela3 WHERE PCID='$pcid'");
if ($opis_tabela3 === false){
printf("Errormessage: %s\n", mysqli_error
($polaczenie2)); $polaczenie2 -> close();
}
else {
while (($dane2 = $opis_tabela2 -> fetch_assoc()) !== null){
$mmid=$dane2['mmid'];
}
while (($dane2 = $opis_tabela1 -> fetch_assoc()) !== null){
$fid=$dane2['fid'];
}
while (($dane2 = $opis_tabela3 -> fetch_assoc()) !== null){
$pid=$dane2['pcid'];
}
while (($dane = $wynik -> fetch_assoc()) !== null){
echo'<td align="center" valign="middle"><font size="6" face="Arial, Helvetica, sans-serif"><b> ' . $dane['kp'] . '' . $dane['kp2'] . '
<b></font></td>';
echo'<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif"> ' . $dane['mp'] . '' . $dane['rp'] . '<br>Seria ' . $dane['seria'] . '' . $dane['seria2'] . '
</font></td>';
echo'<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif"> ' . $dane['kal'] . 'x' . $dane['kalx'] . '
</font></td>';
echo'<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif"> ' . $opis_tabela2['wartosc1'] . ' - ' . $opis_tabela2['wartosc2'] . '
</font></td>';
echo'<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif"> ' . $opis_tabela1['wartosc1'] . '
</font></td>';
echo'<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif"> ' . $opis_tabela1['wartosc2'] . '
</font></td>';
echo'<td align="center" valign="middle"><font face="Arial, Helvetica, sans-serif"> Opis1 :' . $opis_tabela3['wartosc1'] . '-' . $opis_tabela3['wartosc3'] . ',<br>Opis2 :' . $opis_tabela1['wartosc1'] . ',<br> Opis3 : ' . $opis_tabela1['wartosc2'] . '.
</font></td>';
echo'<td align="center" valign="middle"> ' . $dane['zdj'] . '
</td>';
}
}
}
}
$wynik -> close();
$polaczenie -> close();
?>
</body>
</html>
Ten post edytował Mast3rdgs 28.07.2014, 14:07:05