Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z zapytaniem SQL...
Forum PHP.pl > Forum > Bazy danych
geminek
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?questionmark.gif
Przyda mi sie kazda pomoc...
BzikOS
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).
geminek
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... sad.gif
Pytajcie! Moze jakos wam wytlumacze...
DeyV
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.
Al
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]
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-2025 Invision Power Services, Inc.