wrong again, forgot the grouping,
this is the right sql:
$sql = "SELECT p.id,
p.$town,
p.$zip,
p.$phone,
p.$description
count(m.*) praxdocs
FROM $praxTable p,
$medTable m
WHERE p.id = m.prax
GROUP BY p.id,
p.$town,
p.$zip,
p.$phone,
p.$description";
"Michael Virnstein" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> i rethought the sql and found, that the column parxdocs wont contain the
> number of doctors per praxis.
> this would only be done if there are more than one doctor with the same
> name, surename and title in one praxis.
>
> but you can do this instead
> // now you'll get the number of doctors per praxis
> $sql = "SELECT p.id,
> p.$town,
> p.$zip,
> p.$phone,
> p.$description
> count(m.*) praxdocs
> FROM $praxTable p,
> $medTable m
> WHERE p.id = m.prax";
>
> $result = mysql_query($sql, $conn);
> while ($row = mysql_fetch_array($result)) {
> for ($i = 0; $i < $row["praxdocs"]; $i++) {
> $docsql = "SELECT $sureName,
> $preName,
> $title
> FROM $medTable
> WHERE prax = {$row["id"]}";
> $docresult = mysql_query($docsql, $conn);
> while ($docrow = mysql_fetch_array($docresult)) {
> // print names of docs here using $docrow array
> }
> //print address of praxis here using $row array
> }
>
> }
> "Michael Virnstein" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
> [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> > typo in the querystring, this should work, i suppose
> >
> > $queryString = "SELECT count(m.*) parxdocs
> > m.$sureName,
> > m.$preName,
> > m.$title,
> > m.prax,
> > p.$town,
> > p.$zip,
> > p.$phone,
> > p.$description
> > FROM $medTable m,
> > $praxTable p
> > WHERE m.$prax = p.$id
> > GROUP BY m.prax, m.$preName, m.$sureName,
> > m.$title, p.$town, p.$zip, p.$phone, p.$description
> > ORDER BY m.$prax, m.$preName";
> >
> > "Michael Virnstein" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
> > [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> > > ok, here we go.
> > >
> > > you normaly say this i suppose:
> > >
> > > while ($row = mysql_fetch_array($result) {
> > > //your html inserts here
> > > }
> > >
> > > if you'd use oracle, i'd suggest using a cursor, but you're using
MySql,
> > so
> > > you probably have to do it a bit different:
> > > (Not tested, could contain some errors!!!)
> > >
> > > // you'll now have the number of doctors in one praxis in praxdocs
> > > $queryString = "SELECT count(m.*) parxdocs
> > > m.$sureName,
> > > m.$preName,
> > > m.$title,
> > > p.$town,
> > > p.$zip,
> > > p.$phone,
> > > p.$description
> > > FROM $medTable m,
> > > $praxTable p
> > > WHERE m.$prax = p.$id
> > > GROUP BY m.prax, m.$preName, m.$sureName,
> > > m.$title, p.$town, p.$zip, p.$phone, p.$description
> > > ORDER BY m.$prax, m.$preName";
> > >
> > > // then output the html
> > > while ($row = mysql_fetch_array($result)) {
> > > // we don't need the first one, because we already have it.
> > > echo "{$row["title"]} {$row["preName"]} {$row["sureName"]}<br>";
> > > for ($i = 1; $i < $row["praxdocs"]; $i++) {
> > > $doctor = mysql_fetch_array($result);
> > > echo "{$doctor["title"]} {$doctor["preName"]}
> > > {$doctor["sureName"]}<br>";
> > > }
> > > // rest of the output using $row here
> > > }
> > >
> > > hope that helps
> > >
> > > "Christoph Starkmann" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
> > > B120D7EC8868D411A63D0050040EDA77111BE9@XCHANGE">news:B120D7EC8868D411A63D0050040EDA77111BE9@XCHANGE...
> > > > Hi folks!
> > > >
> > > > The following problem:
> > > >
> > > > I got a db (mysql) with information about doctors.
> > > > Name, adress, phone etc.
> > > >
> > > > Now I'm reading these information with a simple
> > > > mysql-query:
> > > >
> > > > $queryString = "SELECT DISTINCT m.$sureName, m.$preName, m.$prax,
> > > m.$title,
> > > > ";
> > > > $queryString .= "p.$town, p.$zip, p.$phone, p.$description ";
> > > > $queryString .= "FROM $medTable m, $praxTable p WHERE ";
> > > > $queryString .= "m.$prax = p.$id";
> > > >
> > > > Normally, I print out the information like this:
> > > >
> > > > Dr. med. John Doe // $title, $preName, $sureName
> > > > (shared practice) // description
> > > > Elmstreet 13 // $street
> > > > 666 Amityville 23 // $zip, $town
> > > > phone: 0049 - 815 - 4711 // $phone
> > > >
> > > > Okay. Now some of these folks are sharing a practice
> > > > ($description in the above code == "shared practice").
> > > >
> > > > I would like to have these grouped together like this:
> > > >
> > > > Dr. med. John Doe // $title, $preName, $sureName
> > > > Dr. med. Allan Smithee
> > > > (shared practice) // description
> > > > Elmstreet 13 // $street
> > > > 666 Amityville 23 // $zip, $town
> > > > phone: 0049 - 815 - 4711 // $phone
> > > >
> > > > I am starting to get a little confused right here and right now.
> > > > This is the reason for being THIS detailed, too ;) Don't want to
> > > > mix anything up.
> > > >
> > > > How would you achieve this goal fastest and "best"?
> > > > Creating a temp array and checking for double $description-s
> > > > which I store in the temp array and delete from the original one?
> > > > Or check this with the original array? How?
> > > > I found functions to get the value for one key in a hash, but not
> > > > for several values with the same key...
> > > >
> > > > Sorry for the confusion, starting to get fuzzy...
> > > >
> > > > Any ideas, hints?
> > > >
> > > > Thanx alot,
> > > >
> > > > Kiko
> > > >
> > > > --
> > > > It's not a bug, it's a feature.
> > > > christoph starkmann
> > > > mailto:[EMAIL PROTECTED]
> > > > http://www.gruppe-69.com/
> > > > ICQ: 100601600
> > > > --
> > >
> > >
> >
> >
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php