Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Układ danych po wyświetlaniu ich z db
eFK
post 14.05.2014, 22:21:47
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 1.02.2014

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


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.

Ten post edytował eFK 14.05.2014, 22:28:39
Go to the top of the page
+Quote Post
nospor
post 15.05.2014, 07:46:20
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:04