Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] problem w operacjach na 2 tabelami
wSBk
post 18.05.2007, 09:15:09
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 13.04.2007

Ostrzeżenie: (0%)
-----


Witam
Borykam się z problemem:
Mam połaczenie do 2 tabel jednej bazy danych. W jednej przechowuje nazwy firm, w drugiej branze:

  1. <?php
  2. # Wyświetlkamy wszystkie firmy
  3. while ($query && $rekord = mysql_fetch_array ($query)) {  
  4. print'<tr onMouseOver="this.style.backgroundColor='#E1EAFE'"; onMouseOut="this.style.backgroundColor='transparent'">'; 
  5. print'<td>';
  6. # Jeżeli id (bid) firmy jest równy branży (tabela z listą firm) to wyświetlam z tabeli branze nazwe przyporzadkowaną bid 
  7. $query3 = mysql_query ("SELECT * FROM $mysql_tabela3");
  8. $rekord3 = mysql_fetch_array ($query3);
  9. if ($rekord['branza'] == $rekord3['bid']) {
  10. print $rekord3['bnazwa'];
  11. } else {
  12. print 'nie mogę wyświetlić nazwy branży';
  13. }  
  14. # Wyświetlam dalej tabele firma
  15. print'</td>';
  16. print'<td><span style="color: #D6D6D6;">[id: '.$rekord['kid'].']</span> ['.$rekord['inicjaly'].'] '.$rekord['firma'].' </td>';
  17. print'<td><a href="index.php?kid='.$rekord['kid'].'">więcej</a></td>';
  18. print'<td><a href="index.php?edytuj='.$rekord['kid'].'">edytuj</a></td>';
  19. print'<td><a href="index.php?usun='.$rekord['kid'].'">usuń</a></td>';
  20. print'</tr>'; 
  21. }
  22. ?>

Skrypt wyświetla wszędzie tam gdzie bid = 1 nazwę branży, natomiast tam gdzie jest bid inny niż 1 wyświetla się informacja iż nie można wyświetlić nazwy branży.

Ten post edytował wSBk 18.05.2007, 09:41:48
Go to the top of the page
+Quote Post
Cysiaczek
post 18.05.2007, 09:24:48
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Czyli co? Jaki jest ten problem, bo piszesz, że jest problem, a potem, że problemu nie ma. Zdecyduj się.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
wSBk
post 18.05.2007, 09:43:23
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 13.04.2007

Ostrzeżenie: (0%)
-----


Cytat(wSBk @ 18.05.2007, 10:15:09 ) *
Skrypt wyświetla wszędzie tam gdzie bid = 1 nazwę branży, natomiast tam gdzie jest bid inny niż 1 wyświetla się informacja iż nie można wyświetlić nazwy branży.
Go to the top of the page
+Quote Post
Cysiaczek
post 18.05.2007, 10:27:51
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




No oczywiście, bo tak jest to zaprogramowane. Pisałem, bo nie ma żadnego błędu w kodzie, a Ty nie podałeś oczekiwanego rezultu.

  1. <?php
  2. if ($rekord['branza'] == $rekord3['bid']) {// jeśłi mają te same wartości
  3. print $rekord3['bnazwa']; // wypisz
  4. } else { // jeśli nie mają równych wartości
  5. print 'nie mogę wyświetlić nazwy branży'; // błąd
  6. }
  7. ?>


Pozdrawiam


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
wSBk
post 18.05.2007, 11:11:31
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 13.04.2007

Ostrzeżenie: (0%)
-----


Oczekiwanym rezultatem jest wyświetlenie dla
bid = 1 wyswietlenie branza 1
bid = 2 wyswietlenie branza 2
bid = 3 wyswietlenie branza 3
bid = 4 wyswietlenie branza 4

A w tej chwili wyswietla tylko
bid = 1 wyswietlenie branza 1
bid = 2 wyswietlenie nie mogę wyświetlić nazwy branży
bid = 3 wyswietlenie nie mogę wyświetlić nazwy branży
bid = 4 wyswietlenie nie mogę wyświetlić nazwy branży

czyli:

  1. Branża Nazwa firmy Opcje
  2. branza 1 [id: 1] [@] Nazwa firmy więcej edytuj usuń
  3. nie mogę wyświetlić nazwy branży [id: 2] [@] asss więcej edytuj usuń
  4. branza 1 [id: 4] [@] 312 więcej edytuj usuń
  5. nie mogę wyświetlić nazwy branży [id: 5] [@] Zaklady Budowy Drog Lesnych S.A. więcej edytuj usuń

gdzie id 2 i 5 mają wartość branży = 2 a 1 i 4 wartość branży =1

Ten post edytował wSBk 18.05.2007, 11:15:57
Go to the top of the page
+Quote Post
Kicok
post 18.05.2007, 11:32:11
Post #6





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


mysql_fetch_array" title="Zobacz w manualu PHP" target="_manual zwraca tylko jeden wiersz. Jeśli chcesz pobrać cały wynik zapytania, to musisz użyć tej funkcji w pętli:

  1. <?php
  2.  
  3. $query3 = mysql_query( 'SELECT * FROM ' . $mysql_tabela3 );
  4. while( $rekord3 = mysql_fetch_array( $query3 ) )
  5. {
  6. echo( '$rekord['branza'] = ' . $rekord['branza'] . '; $rekord3['bid'] = ' . $rekord3['bid'] . '<br />' );
  7. }
  8.  
  9. ?>


Ten post edytował Kicok 18.05.2007, 11:32:55


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
wSBk
post 18.05.2007, 12:50:27
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 13.04.2007

Ostrzeżenie: (0%)
-----


dziękuję za pomoc.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 01:13