Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Noob question - problem z SQL + zmienna php, wywołanie z tabeli SQL danychZkolumny...
Sky_walker
post
Post #1





Grupa: Zarejestrowani
Postów: 214
Pomógł: 23
Dołączył: 26.09.2005

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


Mam problem z wywołaniem z tabeli SQL danych z kolumny o nazwie odpowiadającej zawartości komórki w innej tabeli.
Trochę to skomplikowane, ale ma wyglądać tak:
Mam dwie tabele: w jednej są wpisy:

Kod
|nazwa|
----------
|aaaaa|
|bbbbb|
|cccccc|
|ddddd|


a w drugiej kolumny o nazwach takich jak wiersze w pierwszej

Kod
|aaaaa|bbbbb|cccccc|ddddd|
---------------------------------
|testaa|testbb|testcc|testdd|
|testa2|testb2|testc2|testd2|
|testa3|testb3|testc3|testd3|


i mam pętlę która wybiera wpisy
  1. <?php
  2. $zapytanie="SELECT * From B";  
  3. $wykonaj=mysql_query($zapytanie); 
  4. $zapytanie2="SELECT * From P Where idP=$idp";
  5. $wykonaj2=mysql_query($zapytanie2);
  6. while($wynik=mysql_fetch_array($wykonaj)) {
  7. $nazwa = $wynik['nazwa'];
  8. $poziom = $wynik2[$nazwa];
  9. echo "$poziom";
  10. };
  11. ?>


i To śmie nie działać :/ grrrr
szukałem odpowiedzi na forum, ale nie udało mi się nic znaleźć sad.gif


--------------------
Pomogłem? Kliknij poniżej.
Dzięki! :D
Go to the top of the page
+Quote Post
mhs
post
Post #2





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

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


Poczytaj jakiś podstawowy kurs na temat php/MySQL i nie będziesz miał problemów z napisaniem kilku linijek kodu.

Poza tym mam takie wrażenie, że masz źle zaprojektowaną bazę danych.

Pozdrawiam.
Go to the top of the page
+Quote Post
Sky_walker
post
Post #3





Grupa: Zarejestrowani
Postów: 214
Pomógł: 23
Dołączył: 26.09.2005

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


Cytat
Poczytaj jakiś podstawowy kurs na temat php/MySQL i nie będziesz miał problemów z napisaniem kilku linijek kodu.

jak widać kilka linjijek napisałem snitch.gif
a temet wrzuciłem, bo nie mogłem znaleźć odpowiedzi sad.gif

Cytat
Poza tym mam takie wrażenie, że masz źle zaprojektowaną bazę danych.

eee... a poza wrażeniem coś jeszcze? jakieś sugestie? bo nazwy sprawdzałem i są dobrze ustawione.


--------------------
Pomogłem? Kliknij poniżej.
Dzięki! :D
Go to the top of the page
+Quote Post
mhs
post
Post #4





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

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


Cytat
eee... a poza wrażeniem coś jeszcze? jakieś sugestie? bo nazwy sprawdzałem i są dobrze ustawione.


pokaż strukturę bazy danych (koniecznie kod SQL, a i dobrze gdybś miał rozrysowany schemat bazy danych), opisz co ona ma przedstawiać wówczas na ile moja wiedza będzie pozwalać pomogę Ci

-edit-
bo dobry projekt bazy danych nie sprowadza sie do dobrych nazw pól

Ten post edytował mhs 30.09.2005, 18:35:35
Go to the top of the page
+Quote Post
Sky_walker
post
Post #5





Grupa: Zarejestrowani
Postów: 214
Pomógł: 23
Dołączył: 26.09.2005

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


Proszę bardzo, jeśli to konieczne, to baza wygląda tak:

  1. CREATE TABLE `P` (
  2. `id` tinyint(4) NOT NULL AUTO_INCREMENT,
  3. `idPlanety` tinyint(4) NOT NULL DEFAULT '0',
  4. `idGracza` int(4) NOT NULL DEFAULT '0',
  5. `Nazwa` varchar(25) NOT NULL DEFAULT '',
  6. `Rodzaj` tinyint(1) NOT NULL DEFAULT '0',
  7. `zywnosc` tinyint(6) NOT NULL DEFAULT '0',
  8. `neutronium` tinyint(6) NOT NULL DEFAULT '0',
  9. `durastal` tinyint(6) NOT NULL DEFAULT '0',
  10. `krysztaly` tinyint(6) NOT NULL DEFAULT '0',
  11. `energia` tinyint(6) NOT NULL DEFAULT '0',
  12. `energiaMAX` tinyint(6) NOT NULL DEFAULT '0',
  13. `ZP` tinyint(6) NOT NULL DEFAULT '0',
  14. `populacja` int(12) NOT NULL DEFAULT '0',
  15. `robotnicy` int(12) NOT NULL DEFAULT '0',
  16. `Koszary` tinyint(3) NOT NULL DEFAULT '0',
  17. `Koszary_done` varchar(20) NOT NULL DEFAULT '',
  18. `Centrum klonowania` tinyint(3) NOT NULL DEFAULT '0',
  19. `Centrum klonowania_done` varchar(20) NOT NULL DEFAULT '',
  20. `Stocznia` tinyint(3) NOT NULL DEFAULT '0',
  21. `Stocznia_done` varchar(20) NOT NULL DEFAULT '',
  22.  
  23. PRIMARY KEY (`id`)
  24. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=3 ;
  25.  
  26. --
  27. -- Zrzut danych tabeli `P`
  28. --
  29.  
  30. INSERT
  31. INTO `P` VALUES (1, 2, 4, 'Roszpunka', 1, 100, 100, 100, 100, 100, 100, 100, 100000000, 100, 1, '', 1, '', 1, '', 2, '', 1, '', 1, '', 3, '', 1, '', 1, '', 1, '', 2, '', 1, '', 3, '', 2, '', 1, '', 1, '', 1, '');


  1. CREATE TABLE `B` (
  2. `id` tinyint(4) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(38) NOT NULL DEFAULT '',
  4. `opis` text NOT NULL,
  5. `img` varchar(20) NOT NULL DEFAULT '',
  6. `lok` tinyint(1) NOT NULL DEFAULT '0',
  7. `atak` int(4) NOT NULL DEFAULT '0',
  8. `zycie` int(5) NOT NULL DEFAULT '0',
  9. `oslony` int(4) NOT NULL DEFAULT '0',
  10. `p_energia` int(4) NOT NULL DEFAULT '0',
  11. `p_ZP` int(4) NOT NULL DEFAULT '0',
  12. `k1_zywnosc` int(5) NOT NULL DEFAULT '0',
  13. `k1_neutronium` int(5) NOT NULL DEFAULT '0',
  14. `k1_durastal` int(5) NOT NULL DEFAULT '0',
  15. `k1_krysztaly` int(5) NOT NULL DEFAULT '0',
  16. `k1_energia` int(5) NOT NULL DEFAULT '0',
  17. `k1_ZP` int(5) NOT NULL DEFAULT '0',
  18. `k1_czas` int(6) NOT NULL DEFAULT '0',
  19. `wwc_surowce` float NOT NULL DEFAULT '0',
  20. `wwc_ezp` float NOT NULL DEFAULT '0',
  21. `wwc_czas` float NOT NULL DEFAULT '0',
  22. `wwp_energia` float NOT NULL DEFAULT '0',
  23. `wwp_ZP` float NOT NULL DEFAULT '0',
  24. PRIMARY KEY (`id`)
  25. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=14 ;
  26.  
  27. --
  28. -- Zrzut danych tabeli `B`
  29. --
  30.  
  31. INSERT
  32. INTO `B` VALUES (1, 'Koszary', 'opis', 'n.jpg', 1, 50, 7500, 600, 30, 0, 50, 30, 100, 130, 1000, 36, 480, 0, 0, 0, 0.4, 0);
  33. INSERT
  34. INTO `B` VALUES (2, 'Centrum klonowania', 'opis', 'n.jpg', 1, 30, 6000, 600, 65, 0, 60, 160, 170, 150, 1400, 42, 522, 0, 0, 0, 0.4, 0);
  35. INSERT
  36. INTO `B` VALUES (4, 'Stocznia', 'opis', 'n.jpg', 2, 127, 10000, 750, 90, 20, 110, 200, 300, 170, 1800, 65, 660, 0, 0, 0, 0.5, 0.4);


Ale wątpie, żeby coś to dało.
I jak wspominałe nazwy kolumn z tabeli 'P' odpowiadają nazwie z wierszy tabeli 'B'
Pliki wygenerowane przez phpMyAdmin


--------------------
Pomogłem? Kliknij poniżej.
Dzięki! :D
Go to the top of the page
+Quote Post
mhs
post
Post #6





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

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


Mówiąc o prawidłwo zaprojektowanej bazie danych od razu mogę Ci powiedzieć o błędach, które popełniłeś:
1) co to jest tabela B
2) coto jest tabela P (poczytaj o tym jak powinno nazywać się tabele)
3) również widać, że masz niespójność w nazewnictwie pól w tabeli, a i same nazwy tych pól miejscami chyba pozostawiają wątpliwości
4) pomiędzy tymi tabelami zachodzi jakaś relacja?questionmark.gifquestionmark.gif

Na razie tyle z mojej strony. Postaram się jeszcze później wyedytować posta i spróbować odpowiedzieć Ci na pytanie - rozwiązać Twój problem.

Pozdrawiam.
Go to the top of the page
+Quote Post
Sky_walker
post
Post #7





Grupa: Zarejestrowani
Postów: 214
Pomógł: 23
Dołączył: 26.09.2005

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


Cytat
1) co to jest tabela B
2) coto jest tabela P (poczytaj o tym jak powinno nazywać się tabele)

Wiem jak powinno nazywać się tabele, ale tutaj nazwy zastąpiłem - tak aby było prościej zorientować się w sytuacji (mi było prościej cool.gif)
Cytat
3) również widać, że masz niespójność w nazewnictwie pól w tabeli, a i same nazwy tych pól miejscami chyba pozostawiają wątpliwości

dla mnie jest to jasne - a aby rozwiać Twoje wątpliwości musiałbym porozszyfrowywać trochę skrótów do (często) kilku wyrazowych fragmentów - a tak - skrócik (np. k1_) i wszystko jasne tongue.gif
A o niespójności wiem, ale już za późno aby poprawiać takie błędy (choć kiedyś pewnie to lenistwo będę musiał odpracować dry.gif )
Cytat
4) pomiędzy tymi tabelami zachodzi jakaś relacja?questionmark.gifquestionmark.gif

Nie

Bardzo proszę o pomoc

Ten post edytował Sky_walker 2.10.2005, 11:40:47


--------------------
Pomogłem? Kliknij poniżej.
Dzięki! :D
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 Aktualny czas: 19.08.2025 - 12:54