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:
$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"); echo '<table><tr>'; while($date = $stmt2->fetch()) { $id=$row['mainid']; 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> <td>HISTORIA WIZYT:<br /> <a href="show.php?value='.$id .'" target="_blank">?' .$row['day'] .'/' .$row['month'] .'/' .$row['year'] .'</a>' .'?|?</td></tr>'; } 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.