Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zasady listy
Forum PHP.pl > Forum > Bazy danych > MySQL
.radex
Jestem początkującym jeśli chodzi o MySQL w php. Zawsze jedyne czego używałem z Mysql to pobieranie, usuwanie i modyfikowanie danych. Tyle mi starczyło... Ale jeśli będe chciał zrobić listę z odpowiednim sortowaniem? Użyje ORDER BY xxxx DESC/ASC i while... Ale co jak bym miał zrobić coś takiego:

Porządkuj data +/- itd. ( dobra mam to z głowy )

>>Grupy Artykułów<<

Anteny - informacje... Ilość: 8
Opis...

Budowle - informacje... Ilość: 12
Opis...

Cytryny - informacje... Ilość: 3
Opis...

Dynie - informacje... Ilość: 1
Opis...
Kompendium wiedzy o dyniach - informacje...
Opis...

ITD.

Więc zasada jest taka: Wyświetlaj grupy według reguły i jeśli ma jeden artykuł to wyświetl jego informacje...

Ogólnie proste. Ale jak coś spróbowałem to nie wyszło.
nocnyMark()
nie napisales zbyt wiele o budowie swoich tabel smile.gif

stad sproboje przewidziec jak ona wyglada

tabela grupy_artykulow
zawiera pole id_grupy_art
zawiera pole opis
zawiera pole informacje

tabela artykuly
zawiera pole id_grupy_art

na ich podstawie laczone sa tabele

zapytanie powinno wygladac tak:

  1. SELECT COUNT(artykuly.id_grupy_art),
  2. grupy_artykulow.opis,
  3. grupy_artykulow.informacje
  4.  
  5. FROM `artykuly`, `grupy_artykulow`
  6. WHERE artykuly.id_grupy_art=grupy_artykulow.id_grupy_art
  7. GROUP BY artykuly.id_grupy_art


natomiast wyciaganie informacji gdy jest tylko 1 art w grupie zrobilbym prostym warunkiem w php ktory w momencie wyniku jeden, przy wyswietlaniu, dodatkowo odpytywal by baze o artykul w tej grupie, i z glowy
.radex
dawno w php nie programowałem z powodu wakacji... Chyba źle mnie zrozumiałeś bo ten kod był dziwny (zamiast grupy ty dałeś same arty)... wyszło mi coś takiego
  1. <?php
  2.  
  3. $c = mysql_connect('localhost','root','');
  4. mysql_select_db('testy1', $c);
  5.  
  6. $q = mysql_query(" SELECT * FROM art_group ORDER BY nazwa ASC");
  7.  
  8. while($n = mysql_fetch_array($q) ){
  9. echo '<b>'.$n['nazwa'].'</b><br>';
  10. $iq = mysql_query(" SELECT * FROM art");
  11. $i = mysql_num_rows($iq);
  12. if($i == 1){
  13. $aq = mysql_query(" SELECT nazwa FROM art WHERE group = $n ");
  14. $a = mysql_fetch_array($aq);
  15. echo '&nbsp;&nbsp;&nbsp;<u>'.$a.'</u><br>';
  16. }
  17. echo '<br>';
  18. }
  19. ?>


a oto baza danych:

>>art_group<<
- nazwa

>>art<<
- group
- nazwa

bez błedów, więc wstawiam grupy: Dynie , Anteny i wszystko gra... pokazuje mi normalnie

Anteny

Dynie

ale dodałem do anten Kompendium i wyskoczyło coś takiego:

Anteny

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in g:\moje dokumenty\radex\server\www\a\art.php on line 14


Dynie

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in g:\moje dokumenty\radex\server\www\a\art.php on line 14


Nie umiem rozwiązać problemu więc byłbym wdzięczny za pomoc ( nie licze od razu na cały kod tongue.gif )

I jak będzie działać to dam jeszcze licznik i jeśli nie będzie w grupie niczego to jej nie pokazuje...
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-2024 Invision Power Services, Inc.