Solved

Doesnt show all the select value on the screen

Posted on 2008-06-15
4
194 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this. Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it i…
Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
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 …

728 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