Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z zapytaniem SQL...
geminek
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.05.2003

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


Mam tabele w bazie danych, ktora w kazdym rekodrzie ma: date, nazwe artykulu, numer katalogowy. Ogolnie ta tabela to spodziewane dostawy towaru. Ale mniejsza z tym. Problem mam z tym, ze nie wiem jak zrobic zeby na stronie wyswietlalo mi sie cos na ksztalt tego:


:: 4 listopada 2003 r.:
- procesor jakis tam (indeks jakis tam)
- grafika jakas tam #2 (indeks jakis tam #2)
itd...

:: 6 listopada 2003 r.:
- cos tam #1 (indeks cos tam #1)
- cos tam #2 (indeks cos tam #2)
itd...


Bo normalnie wyswietla mi sie tabela z tymi danymi... A ja nie chce, zeby to bylo w postaci tabeli. Bo przy kazdym towarze jest data i glupio to wyglada.
Ogolnie to nie wiem jak zrobic skrypt, ktory po pobraniu tych danych z tabeli, w jakiejs petli sprawdzal by sobie date i grupowal by dane w postac powyzej. Dobrze gdyby artykuly byly od razu posortowane wg nazwy, a daty pojawialy sie w chronologii od najwczesniejszej dostawy do najstarszej...
Moze wiecie jak cos takiego zrobic?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Przyda mi sie kazda pomoc...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
BzikOS
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Nie bardzo rozumiem o co Ci chodzi... to w jakiej postaci mają być wyświetlane dane z bazy to kwestia sfortmatowania w html'u, a nie skryptu.

A co do sortowania, to ma być to sortowane wg. nazwy czy daty w końcu? Sortowanie ogólnie robisz w zapytaniu do bazy:

[sql:1:942ff43d06]SELECT * FROM tabela ORDER BY nazwa ASC, data DESC;[/sql:1:942ff43d06]

Czyli wyniki będą posortowane w pierwszej kolejności wg nazwy rosnąco, a w drugiej - wg daty malejąco (od najświerzszej do najstarszej).
Go to the top of the page
+Quote Post
geminek
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.05.2003

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


Ech... To to ja wiem... Ale chodzi mi o to, ze dane wyswietlaja mi sie w formie tabeli, a ja wole raczej tak jak pokazalem. Tylko ze nie wiem jak zrobic (co napisac w php), by te pobrane dane z serwera SQL pokazaly sie tak na stronie.
No nie wiem jak mam to wytlumaczyc... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Pytajcie! Moze jakos wam wytlumacze...
Go to the top of the page
+Quote Post
DeyV
post
Post #4





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Jak sądzę, chodzi o to, by najpierw był nagłówek z datą (dla każdego dnia) a potem wszsytkie wpisy, któe się tego dnia zdarzyły. Mam rację?

Jeśli tak, to rozwiązanie jest bardzo proste.
Pobierasz potrzebne dane, sortując je oczywiście względem daty, i zatrzynasz je wyświetlać.
Przy pięrwszej iteracji sprawdzasz datę. Jeśli w specjalnej zmiennej na to przygotowanej nie ma tej daty, lub data jest inna, to drukujesz informacje związane z datą, a nasępnie do tej smiennej przypisujesz tą własnie datę. W przeciwnym wypadku pomijasz ten krok, tylko od razu przechodzisz do wyświetlania danych dla danego rekordu (juz oczywisćie bez daty)
To jak je wyświetlisz - nie ma już najmniejszego znaczenia, i czy to będzie tabela, czy akapit, czy co Ci tylko przyjdzie do głowy - to już Twój wybór.
Go to the top of the page
+Quote Post
Al
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 10.10.2003

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


Cytat
To jak je wyświetlisz - nie ma już najmniejszego znaczenia, i czy to będzie tabela, czy akapit, czy co Ci tylko przyjdzie do głowy - to już Twój wybór.

Krótko mówiąc pobierasz dane, sortujesz i wyświetlasz. Jeśli układ ma być taki jak podajesz, to najlepiej gdybyś tuż po pobraniu danych ułożył sobie odpowiednio sformatowany akapit i zamknął kod php. Przykładowo:

[php:1:ae9a3c5765]<?php
while ($row= mysql_fetch_array($result)) {
$data = row($data);
...
$akapit .="
:: data jakas tam ::
- coś tam
- cos tam
";
}
?>[/php:1:ae9a3c5765]
Potem już wklejasz gotowy gotowy akapit.
[php:1:ae9a3c5765]<?php echo "$akapit"; ?>
[/php:1:ae9a3c5765]
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 13:09