Solved

Doesnt show all the select value on the screen

Posted on 2008-06-15
4
192 Views
Last Modified: 2008-06-16
PHP
I received ouput value that doesnt show all the result i want on the screen

The data output i WANT to received is shown below
supermarketname  | miloAmountstock  |horlickAmountstock| candy.. |chocolate.. | stock..  | chips..
"coles"                   |"21546"                  |"54685"                   |"54658" |"24367"      |"no stock"|"85496"|
"giant"                    |"84564"                  |"87956"                   |"478546"|"45754"    |"no stock"|"78954"|

but the output i get is this
"coles"|"21546"|
"giant"|"54685"|

It looks like it cant read the rest of the data and continue the data in the row of giant 84564
my code is in code snippet


function GetAmount()
{
$ItemID = array(1234,6545,5468,9856,4578,"no stock",4561);
$arrayElement[5] = "no stock";
$supermarketID = array(21,32);
 
 $cnt=count($supermarketID);
 for($x=0; $x<$cnt; $x++)
{
 $supermarketID_value = $supermarketID[$x]; 
 
for ($j = 0; $j < sizeof($ItemID); $j++)
  {
 if (($ItemID[$j] != $arrayElement[5]) 
	{
	 $query = mysql_query("SELECT getitem_std_amountstock( \"$supermarketID_value\",  \"ItemID[$j]\") AS AMOUNT");
     
	 $j = 0; 
         $temp="";
         while($row = mysql_fetch_array($query))
	      {
              $temp .= '"'.$row['AMOUNT'].'"'; 
              }
          $this->GetAmountStockReturn[$i++] .= $temp; 
        }  
	else
        {
      $this->GetAmountStockReturn[$i++] .=  "\"no stock\" |";
  	}
   }
 
 
function joinSUPERMARKETNAMEnAMOUNTSTOCK()
{
//SUPERMARKETNAME select value is from another function
 
 foreach(($this->GetSupermarketReturn_value as $i => $datas)
	 {
           $data1 = "{$datas} | {$this->GetAmountStockReturn[$i]}  "; 
	   print_r( $data1);
	 }
}

Open in new window

0
Comment
Question by:firekiller15
  • 2
4 Comments
 
LVL 3

Expert Comment

by:Xorlev
ID: 21790673
Your query seems to only be retrieving a single column.

         $query = mysql_query("SELECT getitem_std_amountstock( \"$supermarketID_value\",  \"ItemID[$j]\") AS AMOUNT");

And:

$temp .= '"'.$row['AMOUNT'].'"';

If you want candy, chocolate, bluechips and what not, you'll need to select them from the database.
0
 

Author Comment

by:firekiller15
ID: 21790741
if i output my result in function GetAmount() i can get the result and the result is correct as follow

Array ( [] => "21546" |[1] => "54685" |[2] => "54658" |[3] => "24367" |[4] => "no stock" |[5] => "85496" |[6] => "84564" |[7] => "87956" |[8] => "478546" |[9] => "no stock" |[10] => "78954"

>>If you want candy, chocolate, bluechips and what not, you'll need to select them from the database
i am select them from the database just that im using SQL function.

i dont think i have problem in the first function  GetAmount()
Maybe is because of the join in joinSUPERMARKETNAMEnAMOUNTSTOCK()

Anyone really know pls help
0
 
LVL 49

Accepted Solution

by:
Roonaan earned 250 total points
ID: 21791344
your joinSuperMarketNameEnAmountStock function only determines the row labels. The columns are returned from getAmountStockReturn.

I think something is going wrong in lines:
$this->GetAmountStockReturn[$i++] .= $temp;
or
$this->GetAmountStockReturn[$i++] .=  "\"no stock\" |";

You try to append some data, but every time in a new array element. That doesn't make sense.

As a sidenote, I am getting somewhat worried on your program structure. I don't see why you don't use mysql joins, why you are using all these ugly functions that do nothing more that filling internal arrays. I worry that you are not using oop as it is intended to, or at least have chosen the wrong path.
Your program will get slugish with all this for-eaching, looping, looping in looping and use heaps of memory from all those internal arrays.
0
 

Author Comment

by:firekiller15
ID: 21791605
yah you are right something worng in $this->GetAmountStockReturn[$i++] .= $temp;
i get rid of increament then everything seems find
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

These days socially coordinated efforts have turned into a critical requirement for enterprises.
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question