Re: [PHP] Re: [PHP-DB] Re: Problems with displaying results
On Tue, Mar 3, 2009 at 2:16 PM, Ashley Sheridan a...@ashleysheridan.co.ukwrote: On Tue, 2009-03-03 at 11:08 -0600, Terion Miller wrote: On Tue, Mar 3, 2009 at 10:32 AM, Shawn McKenzie nos...@mckenzies.net wrote: Terion Miller wrote: I have two queries one pulls out which users to use and the second pulls those users orders Looks something like this but is only pulling the first record: $query = SELECT `UserName`, `AdminID` FROM admin WHERE Key1 = 'YES' ; $result = mysql_query ($query) ; $row = mysql_fetch_assoc($result); //Reveal Variables for Debugging // include(VariableReveal2.php); echo (Hello br); //echo $row['AdminID']; echo ($row['UserName']); if ($row['Key1'] == NO) { header (Location: Welcome.php?AdminID=$AdminIDmsg=Sorry, you do not have access to that page.); } if (isset($_GET['SortBy'])) {$SortBy = $_GET['SortBy'];} else {$SortBy = 'WorkOrderID DESC';} if (isset($_GET['Page'])) {$Page = $_GET['Page'];} else {$Page = 1;} $PerPage = 30; $StartPage = ($Page - 1) * $PerPage; second query here is using the $row from the first (and yes I know not to use *, just did so here to keep post shorter) $sql= SELECT * FROM workorders WHERE AdminID = '.$row['AdminID'].' ; // $sql .= ORDER BY $SortBy LIMIT $StartPage, $PerPage; $result = mysql_query ($sql); $row2 = mysql_fetch_assoc($result); $Total = ceil(mysql_num_rows($result)/$PerPage); So this works but only half way as it only displays the first record in the table. Thanks Terion Happy Freecycling Free the List !! www.freecycle.org Over Moderation of Freecycle List Prevents Post Timeliness. Twitter? http://twitter.com/terionmiller Facebook: a href=http://www.facebook.com/people/Terion-Miller/1542024891; title=Terion Miller's Facebook profile target=_TOPimg src= http://badge.facebook.com/badge/1542024891.237.919247960.png; border=0 alt=Terion Miller's Facebook profile/a Groucho Marx - I have had a perfectly wonderful evening, but this wasn't it. You need to lookup the mysql_fetch_assoc() function. It only returns one row from a result set that may contain multiple rows. You need something like: while($row = mysql_fetch_assoc($result)) { // do something with $row } --- well I looked it up in my book and tried this example but still get the same thing, the first record $result = mysql_query ($query) ; //$row = mysql_fetch_array($result); while ($row = mysql_fetch_row($result)){ for ($i=0; $imysql_num_fields($result); $i++) echo $row[$i] . ; //print a return for neatness sake echo \n; What happens if you just change your while loop to this: while($row = mysql_fetch_array($result)) { print_r($row); } Ash www.ashleysheridan.co.uk Still having problems with getting this script to work, the first part of the query does now work since I used the suggested JOIN, so my results are there and I can echo them but now I can't seem to get them to display neatly somehow: CODE THUS FAR $query = SELECT admin.UserName, admin.AdminID, workorders.WorkOrderID, workorders.CreatedDate, workorders.Location, workorders.WorkOrderName, workorders.FormName, workorders.STATUS, workorders.Notes, workorders.pod FROM admin LEFT JOIN workorders ON (admin.AdminID = workorders.AdminID) WHERE admin.Retail1 = 'yes' ; $result = mysql_query ($query) ; //$row = mysql_fetch_array($result); while ($row = mysql_fetch_row($result)){ $admin_id = $row['AdminID']; for ($i=0; $imysql_num_fields($result); $i++); //echo $row[$i] . ; } if ($row['Retail1'] == NO) { header (Location: Welcome.php?AdminID=$AdminIDmsg=Sorry, you do not have access to that page.); } if (isset($_GET['SortBy'])) {$SortBy = $_GET['SortBy'];} else {$SortBy = 'WorkOrderID DESC';} if (isset($_GET['Page'])) {$Page = $_GET['Page'];} else {$Page = 1;} $PerPage = 30; $StartPage = ($Page - 1) * $PerPage; $sql= SELECT WorkOrderID, CreatedDate, Location, WorkOrderName, AdminID, FormName, Status, Notes, pod FROM `workorders` WHERE AdminID = '.$row['AdminID'].' ; $query .= ORDER BY $SortBy LIMIT $StartPage, $PerPage; $result=mysql_query($query) or die('Queryproblem: ' . mysql_error() . 'br /Executed query: ' . $query); $row2 = mysql_fetch_assoc($result); while ($row2 = mysql_fetch_row($result)) { // for
[PHP] Re: [PHP-DB] Re: [PHP] Re: [PHP-DB] Re: Problems with displaying results
On Thu, Mar 5, 2009 at 10:30 AM, Terion Miller webdev.ter...@gmail.comwrote: Still having problems with getting this script to work, the first part of the query does now work since I used the suggested JOIN, so my results are there and I can echo them but now I can't seem to get them to display neatly somehow: CODE THUS FAR $query = SELECT admin.UserName, admin.AdminID, workorders.WorkOrderID, workorders.CreatedDate, workorders.Location, workorders.WorkOrderName, workorders.FormName, workorders.STATUS, workorders.Notes, workorders.pod FROM admin LEFT JOIN workorders ON (admin.AdminID = workorders.AdminID) WHERE admin.Retail1 = 'yes' ; $result = mysql_query ($query) ; //$row = mysql_fetch_array($result); while ($row = mysql_fetch_row($result)){ $admin_id = $row['AdminID']; mysql_fetch_row() returns a numerical array ( http://ca2.php.net/manual/en/function.mysql-fetch-row.php), but then you are trying to assign $admin_id using an associative array. Thus, you need to either return your row as an associative array ( http://ca2.php.net/manual/en/function.mysql-fetch-assoc.php) or assign $admin_id as a numerical array: Method 1: Use a numerical array $result = mysql_query($query); while($row = mysql_fetch_row($result)) { $admin_id = $row[1]; // since it's the 2nd item in your SELECT ... } OR Method 2: Use an associative array $result = mysql_query($query); while($row = mysql_fetch_assoc($result)) { // returns result row as an associative array $admin_id = $row['AdminID']; }
[PHP] Re: [PHP-DB] Re: Problems with displaying results
On Tue, Mar 3, 2009 at 10:32 AM, Shawn McKenzie nos...@mckenzies.netwrote: Terion Miller wrote: I have two queries one pulls out which users to use and the second pulls those users orders Looks something like this but is only pulling the first record: $query = SELECT `UserName`, `AdminID` FROM admin WHERE Key1 = 'YES' ; $result = mysql_query ($query) ; $row = mysql_fetch_assoc($result); //Reveal Variables for Debugging // include(VariableReveal2.php); echo (Hello br); //echo $row['AdminID']; echo ($row['UserName']); if ($row['Key1'] == NO) { header (Location: Welcome.php?AdminID=$AdminIDmsg=Sorry, you do not have access to that page.); } if (isset($_GET['SortBy'])) {$SortBy = $_GET['SortBy'];} else {$SortBy = 'WorkOrderID DESC';} if (isset($_GET['Page'])) {$Page = $_GET['Page'];} else {$Page = 1;} $PerPage = 30; $StartPage = ($Page - 1) * $PerPage; second query here is using the $row from the first (and yes I know not to use *, just did so here to keep post shorter) $sql= SELECT * FROM workorders WHERE AdminID = '.$row['AdminID'].' ; // $sql .= ORDER BY $SortBy LIMIT $StartPage, $PerPage; $result = mysql_query ($sql); $row2 = mysql_fetch_assoc($result); $Total = ceil(mysql_num_rows($result)/$PerPage); So this works but only half way as it only displays the first record in the table. Thanks Terion Happy Freecycling Free the List !! www.freecycle.org Over Moderation of Freecycle List Prevents Post Timeliness. Twitter? http://twitter.com/terionmiller Facebook: a href=http://www.facebook.com/people/Terion-Miller/1542024891; title=Terion Miller's Facebook profile target=_TOPimg src= http://badge.facebook.com/badge/1542024891.237.919247960.png; border=0 alt=Terion Miller's Facebook profile/a Groucho Marx - I have had a perfectly wonderful evening, but this wasn't it. You need to lookup the mysql_fetch_assoc() function. It only returns one row from a result set that may contain multiple rows. You need something like: while($row = mysql_fetch_assoc($result)) { // do something with $row } --- well I looked it up in my book and tried this example but still get the same thing, the first record $result = mysql_query ($query) ; //$row = mysql_fetch_array($result); while ($row = mysql_fetch_row($result)){ for ($i=0; $imysql_num_fields($result); $i++) echo $row[$i] . ; //print a return for neatness sake echo \n;
Re: [PHP] Re: [PHP-DB] Re: Problems with displaying results
On Tue, 2009-03-03 at 11:08 -0600, Terion Miller wrote: On Tue, Mar 3, 2009 at 10:32 AM, Shawn McKenzie nos...@mckenzies.netwrote: Terion Miller wrote: I have two queries one pulls out which users to use and the second pulls those users orders Looks something like this but is only pulling the first record: $query = SELECT `UserName`, `AdminID` FROM admin WHERE Key1 = 'YES' ; $result = mysql_query ($query) ; $row = mysql_fetch_assoc($result); //Reveal Variables for Debugging // include(VariableReveal2.php); echo (Hello br); //echo $row['AdminID']; echo ($row['UserName']); if ($row['Key1'] == NO) { header (Location: Welcome.php?AdminID=$AdminIDmsg=Sorry, you do not have access to that page.); } if (isset($_GET['SortBy'])) {$SortBy = $_GET['SortBy'];} else {$SortBy = 'WorkOrderID DESC';} if (isset($_GET['Page'])) {$Page = $_GET['Page'];} else {$Page = 1;} $PerPage = 30; $StartPage = ($Page - 1) * $PerPage; second query here is using the $row from the first (and yes I know not to use *, just did so here to keep post shorter) $sql= SELECT * FROM workorders WHERE AdminID = '.$row['AdminID'].' ; // $sql .= ORDER BY $SortBy LIMIT $StartPage, $PerPage; $result = mysql_query ($sql); $row2 = mysql_fetch_assoc($result); $Total = ceil(mysql_num_rows($result)/$PerPage); So this works but only half way as it only displays the first record in the table. Thanks Terion Happy Freecycling Free the List !! www.freecycle.org Over Moderation of Freecycle List Prevents Post Timeliness. Twitter? http://twitter.com/terionmiller Facebook: a href=http://www.facebook.com/people/Terion-Miller/1542024891; title=Terion Miller's Facebook profile target=_TOPimg src= http://badge.facebook.com/badge/1542024891.237.919247960.png; border=0 alt=Terion Miller's Facebook profile/a Groucho Marx - I have had a perfectly wonderful evening, but this wasn't it. You need to lookup the mysql_fetch_assoc() function. It only returns one row from a result set that may contain multiple rows. You need something like: while($row = mysql_fetch_assoc($result)) { // do something with $row } --- well I looked it up in my book and tried this example but still get the same thing, the first record $result = mysql_query ($query) ; //$row = mysql_fetch_array($result); while ($row = mysql_fetch_row($result)){ for ($i=0; $imysql_num_fields($result); $i++) echo $row[$i] . ; //print a return for neatness sake echo \n; What happens if you just change your while loop to this: while($row = mysql_fetch_array($result)) { print_r($row); } Ash www.ashleysheridan.co.uk -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php