Re: php newbie having trouble going to detail page
| From: | John Hicks | Date: | Sat, 08 Apr 2006 15:24:13 +0000 |
| Subject: | Re: php newbie having trouble going to detail page | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-233551@lists.php.net to get a copy of this message | ||
David Doonan wrote:
I'm having trouble getting the correct results on a display page. The first query is pulling the name of active authors from the d/b and sending a request to only return essay titles by the requested author. The list page however is displaying essay titles by all authors. No doubt something is wrong with the where clause in the List page query. I've tried countless variations on the syntax for Author.ID = Author.ID without success. Sorry for so basic a question. --------------------- author page query = $query_GetAuthors = "SELECT Distinct Author.Autholr_Name, Author.ID, Writings.Writings_Author FROM Author, Writings WHERE Author.Autholr_Name = Writings.Writings_Author andDavid-- First of all, yours is purely a SQL problem, so would get better response from the PHP-DB or MySQL list. But a quick glance at your SQL shows that your second query returns all writings by all authors because you don't include anything to narrow it down to one author: WHERE Writings.ID = Writings.ID AND Author.Autholr_Name = Writings.Writings_Author AND Author.ID = Author.ID First of all: "Writings.ID = Writings.ID " and "Author.ID = Author.ID" are nonsense. Every query will match those crieria. In other words, you'd probably best take an hour or so to RTF 'Intro to SQL M.' Here's another hint: You have no PHP variable in your SQL query. That means you execute the same exact query every time you run it. So you will get the same exact results every time. So your solution is this: Include a PHP variable in your SQL query to specify which author you want to select. You probably want something like this: WHERE Author.Author_Name = Writings.Author_Name AND Author.ID = '$MySelectedAuthorID' (but remember to define $MySelectedAuthorId before running it :) Good luck and post again with your progress. JohnAuthor.ID = Author.ID";$GetAuthors = mysql_query($query_GetAuthors, $connDerbyTrail) or die (mysql_error()); $row_GetAuthors = mysql_fetch_assoc($GetAuthors); $totalRows_GetAuthors = mysql_num_rows($GetAuthors); -------------------- author page link = <a href="author.php?ID=<?php echo $row_GetAuthors['ID']; ?>"><?php echo $row_GetAuthors['Autholr_Name']; ?></a> --------------------- List page query = $query_GetAuthorList = "SELECT Writings.Writings_Author, Writings.Writings_Title, DATE_FORMAT(Writings_Date, '%M %D, %Y') as Writings_Date, Writings.Writings_Text, Writings.ID, Author.Autholr_Name, Author.ID FROM Writings, Author WHERE Writings.ID = Writings.ID ANDAuthor.Autholr_Name = Writings.Writings_Author AND Author.ID = Author.IDORDER BY Writings.Writings_Date desc"; $GetAuthorList = mysql_query($query_GetAuthorList, $connDerbyTrail) or die(mysql_error()); $row_GetAuthorList = mysql_fetch_assoc($GetAuthorList); $totalRows_GetAuthorList = mysql_num_rows($GetAuthorList); david