Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Układ danych po wyświetlaniu ich z db
Forum PHP.pl > Forum > Przedszkole
eFK
Witam serdecznie

Mam dwie tabele
- patient -> mainid | surname | name | + inne, na razie nie istotne rekordy
-date -> id | day | month | year | inne

do tabeli date będzie się dodwać wiele rekordów day, month, year (każda wizyta pacjenta), ale oczywiście w tabeli patient mainid, surname i name dla jednego pacjenta dodaje się tylko raz. patient.mainid=date.id

Potrzebowałabym to teraz wyświetlić w następujący sposób:

Banan Kunegunda: DODAJ WIZYTĘ?USUŃ
HISTORIA WIZYT:
1/1/2014 | 2/2/2014 | 3/3/2014
Banan Zenon ...

albo coś w tym stylu, aby było czytelne.
Moje zapytanie wygląda następująco:
  1. $stmt = $pdo->query("SELECT patient.mainid, patient.surname, patient.name, date.day, date.month, date.year FROM patient, date WHERE patient.surname='$_POST[searchsurname]' AND date.id=patient.mainid ORDER BY surname, name");
  2.  
  3. echo '<table><tr>';
  4. while($date = $stmt2->fetch())
  5. {
  6. $id=$row['mainid'];
  7. echo '<td>' .$row['surname'] .'?' .$row['name'] .'<a href="addvisit.php?value=' .$id .'">DODAJ WIZYTĘ</a >' .'?' .'<a href="delete.php?value=' .$id .'">USUŃ</a></td></tr><tr>
  8. <td>HISTORIA WIZYT:<br />
  9. <a href="show.php?value='.$id .'" target="_blank">?' .$row['day'] .'/' .$row['month'] .'/' .$row['year'] .'</a>' .'?|?</td></tr>';
  10. }
  11.  
  12. echo '</table>';


niestety efekt tego kodu wyglada mniej więcej tak:

Banan?Kunegunda: DODAJ WIZYTĘ?USUŃ
HISTORIA WIZYT:
1/1/2014 |
Banan Kunegunda: DODAJ WIZYTĘ USUŃ
HISTORIA WIZYT:
2/2/2014 |
Banan Kunegunda: DODAJ WIZYTĘ USUŃ
HISTORIA WIZYT:
3/3/2014
Banan Zenon ...

Próbowałam wykonać oddzielnie zapytanie do db patient i db dane, i dodatkowo zapytanie db dane umieścić podczas przetwarzania zapytania db patient. Poczytałąm też o JOIN, ale z tego co zrozumiałam to jest to samo co kropki w zapytaniu SELECT. O efektach użycia foreach, podczas przetwarzania zapytania nawet nie będe mówić, ponieważ są (i powinny być chyba) one identyczne jak fetch, a sprawdziłam go tylko z ciekawości. :-D

Czy w ogóle da się to zrobić tak jakbym chciała, czy muszę myśleć o innej prezentacji danych?
Będe bardzo wdzięczna, za wszystkie porady.
nospor
Twoje pierwsze zapytanie jest w miare ok. Zanim jednak zaczniesz wyswietlac wyniki zapytania, musisz je wpierw obrobic (pogrupowac) a dopiero potem na spokojnie wyswietlac.

Tutaj to opisalem:
http://nospor.pl/grupowanie-wynikow.html
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.