Re: [PHP] Re: [PHP-DB] Re: Problems with displaying results

2009-03-05 Thread Terion Miller
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

2009-03-05 Thread Lex Braun
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

2009-03-03 Thread Terion Miller
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

2009-03-03 Thread Ashley Sheridan
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