Solved

Why my array output is wrong

Posted on 2008-06-12
8
170 Views
Last Modified: 2008-06-15
PHP

Why my array output is wrong

i have this code in code snippet

my result should be
supermarketname | Amount_of_candy | Amount_of_milo | AMount_of_milk |...
    coles       |    1.00000      |   5.00000         |    2.00000     |...
    target      |    5.00000      |  10.00000      |    3.00000     |...
...
   
but i get result as below
      
coles | "1.00000"|target| "5.00000"| parkson| "2.00000"... and so on

other words my amount become
coles | array[0] | target | array[1] | parkson | array[2] .. and so on

this is so wrong as you can see from my code GetAmount(()

coles should follow by array[0],array[1] and array[2]

but dont know why array[1] has go to target which is wrong
how to do this?

function GetAmount()

{

$ItemID = array(1234,6545,5468,9856,"no stock",4561,5466);

$arrayElement[3] = "no stock";

$supermarketID = 21;

 

 $i = 0;

 $j = 0;

 

 for ($j = 0; $j < sizeof($ItemID); $j++)

  {

 if (($ItemID[$j] != $arrayElement[3]) 

	{

	 $query = "SELECT getitem_std_amount( \"$supermarketID\",  \"ItemID[$j]\") AS AMOUNT";

     

	 $result = mysql_query($query);

     if(!$result) die("Query didn't work. " . mysql_error());

    

     $temp = "";   	 

     while($row = mysql_fetch_array($result))

	      {

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

              } 

              $this->GetAmountReturn[$i++] .= $temp ; 

              }	 

   	}  

	else

    {

      $this->GetAmountReturn[$i] .=  "\"Full Time Employees\" |";

  	  $i++;

	}

   }

 

 Wishing you a very happy birthday and a year full of things you love 

function joinSUPERMARKETNAMEnAMOUNT()

{

//SUPERMARKETNAME select value is from another function

 

 foreach(($this->GetSupermarketNameReturn_value as $i => $SupermarketName)

	{

         $data1 = "{$SupermarketName} | {$this->GetAmountReturn[$i]}  "; 

	  print_r( $data1);

	 }

        }  

}

Open in new window

0
Comment
Question by:firekiller15
  • 4
  • 3
8 Comments
 
LVL 48

Expert Comment

by:hernst42
Comment Utility
Try replacing

              $this->GetAmountReturn[$i++] .= $temp ;
              }  
        }  
        else
    {
      $this->GetAmountReturn[$i] .=  "\"Full Time Employees\" |";
          $i++;
        }
with

              $this->GetAmountReturn[$j] .= $temp ;
              }  
        }   else    {
      $this->GetAmountReturn[$j] .=  "\"Full Time Employees\" |";
        }
0
 

Author Comment

by:firekiller15
Comment Utility
change it to $j doesnt make any different?
0
 
LVL 48

Expert Comment

by:hernst42
Comment Utility
please post the modified code
0
 

Author Comment

by:firekiller15
Comment Utility
function GetAmount()
{
$ItemID = array(1234,6545,5468,9856,"no stock",4561,5466);
$arrayElement[3] = "no stock";
$supermarketID = 21;
 
 
 
 for ($j = 0; $j < sizeof($ItemID); $j++)
  {
 if (($ItemID[$j] != $arrayElement[3])
      {
       $query = "SELECT getitem_std_amount( \"$supermarketID\",  \"ItemID[$j]\") AS AMOUNT";
     
       $result = mysql_query($query);
     if(!$result) die("Query didn't work. " . mysql_error());
   
     $temp = "";         
     while($row = mysql_fetch_array($result))
            {
            $temp = '"'.$row['AMOUNT'].'"';
              }
              $this->GetAmountReturn[$j] .= $temp ;
              }       
         }  
      else
    {
      $this->GetAmountReturn[$j] .=  "\"Full Time Employees\" |";
          
      }
   }
 
 Wishing you a very happy birthday and a year full of things you love
function joinSUPERMARKETNAMEnAMOUNT()
{
//SUPERMARKETNAME select value is from another function
 
 foreach(($this->GetSupermarketNameReturn_value as $i => $SupermarketName)
      {
         $data1 = "{$SupermarketName} | {$this->GetAmountReturn[$i]}  ";
        print_r( $data1);
       }
        }  
}
 
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 48

Expert Comment

by:hernst42
Comment Utility
ok slowly I get the datastructure. The replace with $j is wrong, replace the $j in those two lines with $supermarketID
0
 

Author Comment

by:firekiller15
Comment Utility
is still the same
0
 
LVL 48

Expert Comment

by:hernst42
Comment Utility
hm no clue and without knowing you datastructures it can get very complicated.
0
 
LVL 29

Accepted Solution

by:
fibo earned 250 total points
Comment Utility
Looking at << $query = "SELECT getitem_std_amount( \"$supermarketID\",  \"ItemID[$j]\") AS AMOUNT";>>
and using the sample data you are testing with
$ItemID = array(1234,6545,5468,9856,"no stock",4561,5466);
$arrayElement[3] = "no stock";
$supermarketID = 21;

The first run will give SELECT getitem_std_amount( "21",  "1234") AS AMOUNT;
The second SELECT getitem_std_amount( "21",  "5454") AS AMOUNT;
and 5th one SELECT getitem_std_amount( "21",  "no stock") AS AMOUNT;

What is precisely the result of running $result = mysql_query($query) ?


0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Both Easy and Powerful How easy is PHP? http://lmgtfy.com?q=how+easy+is+php (http://lmgtfy.com?q=how+easy+is+php)  Very easy.  It has been described as "a programming language even my grandmother can use." How powerful is PHP?  http://en.wikiped…
Author Note: Since this E-E article was originally written, years ago, formal testing has come into common use in the world of PHP.  PHPUnit (http://en.wikipedia.org/wiki/PHPUnit) and similar technologies have enjoyed wide adoption, making it possib…
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 …

772 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now