why i key in 10 element to an array, only 2 shown on the screen

PHP
why i key in 10 element to an array, only 2 shown on the screen

i create one function to deal with calling data from the database
To get the correct data i need to Select value with codition
Example:
data 1 where index =1
data 2 where index =2
data 3 where index =3
data 4 where index =4
data 5 where index =5
data 6 where index =6
data 7 where index =7

To do this i create an array first

   $index = array(1,2,3,4,5,6,7)

then i use for loop to determine how many array element i have as follow

   for($j=0;$j<sizeof($index);$j++)
   
After that i create a select query to get the data from database as follow

   result = mysql_query(select A from table where INDEX = $index[$i])

Then i create a while loop to loop the row that i get from database
   
   $i=0;  
   while(mysql_fetch_array(result)
    {
     $this->result[$i++] = $row['A'];
 
  reason i use array and $i inreament by 1 is because each time the while loop, loop thru the select query
  it will store the data in new element in array.

  then i try to print_r($this->result) it on the screen and i get the result i want which is shown below
  Array ( [0] => "3" [1] => "37" [2] => "38" [3] => "58"
   
-------------
Ok then i create another function

this function first i try to print_r($this->result) and i get the output above which is correct

when try to do like this

foreach($this->anotherfunctionresult as $k => $data)
{
data1 =" $data | {$this->result[$k] ";
}

***forgot to tell i got only two record in my database***

i do print_r... i get two value only that print on the screen which is
3 and 37

i dont understand since i can print_r($this->result) and get the complete result, why i cant get it data1

pls help







firekiller15Asked:
Who is Participating?
 
ayus80Connect With a Mentor Commented:
trippy1976:
I think SQL Query is:
$query = "select A from TABLE $where";
$result = mysql_query($query,$myDB);

Open in new window

0
 
trippy1976Connect With a Mentor Commented:
Why Not:
$index = array(1,2,3,4,5,6,7);
 
$wherestring = " where INDEX = 1";
for($i = 1; $i < count($index) ; $i++)
{
  $wherestring .= " OR INDEX = " . $index[$i];
}
 
$query = "select A from TABLE $where";
$result = mysql_query($query,$myDB);
while($row = mysql_fetch_array($result,1))
{
// Get each A...
$myvar = $row['A'];
}

Open in new window

0
 
trippy1976Connect With a Mentor Commented:
Benefit of this is one single database call vs. 7 or 8.
0
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

 
ayus80Connect With a Mentor Commented:
ayus80:
trippy1976:
I think SQL Query is:
$query = "select A from TABLE $wherestring";
$result = mysql_query($query,$myDB);

Open in new window

0
 
firekiller15Author Commented:
what is $myDB??
0
 
firekiller15Author Commented:
i recieverd error messae
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
0
 
ayus80Connect With a Mentor Commented:
do you have replace $where to $wherestring?
0
 
firekiller15Author Commented:
yup
0
 
firekiller15Author Commented:
and also the array message is about supplied argument is not a valid MySQL result resource

it says this
$result = mysql_query($query,$myDB);
while($row = mysql_fetch_array($result,1))
is not value and
is $myDB mean databasename?
0
 
trippy1976Connect With a Mentor Commented:
You have to initialize your database connection.  When you do that, you get a database object.  In my code (which should be taken as an example, though I tried to match it to your case) I assume "$myDB" is your database variable which you have already set up.

Mine is initialized by the following.  Assuming again you have appropriate values in the host, user, pass and databaseName entries.


$myDB = mysql_connect($host,$user,$pass);
mysql_select_db($databaseName,$myDB);

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.