• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
loop problem

[eluser]Bigil Michael[/eluser]
i want to execute multiple while loop

like this

<?php $selected_ member = "select id,name from members"
$result_search = $db->query($selected_ member);
while(list($id,$name) = $db->fetch_array($result_search))
     $search_query = "select id,name from members"
     $result_s = $db->query($search_query);
     while(list($id,$name) = $db->fetch_array($result_s))
      echo $name;

my table contains 5 entries
so it must print 25 rows

it prints 5 rows only once
that means the loop execute only once.
i dont know what is the problem here ??????
can anyone help me????

I think you should store the resulting arrays into variables, and then loop over those variables instead of looping directly on the queries.

This may work
$selected_member    = "select id,name from members" ;
$result_search        = $db->query($selected_ member);
$query_search    = $this->db->query( $selected_member );
foreach( $query_search->result_array() as $row_1 )
    $id        = $row_1['id'] ;
    $name    = $row_1['name'] ;
    $search_query    = "select id,name from members" ;
    $query_s        = $db->query($search_query) ;
    foreach( $query_s->result_array() as $row_2 )
            echo $row_2['name'];

because both of your loops use $id, $name, so the inner loop is overwriting the outer loops variables. Just rename the inner loop variables to something else.

@CroNiX it's right , that's because i prefer foreach to while.

I was referring to the original post.

in both loops he is doing list($id, $name). 2nd loop's $id, $name overwrites first loops $id, $name. 2nd loop should be $id2, $name2 or something different, although I don't see the logic in what he is doing in the first place. He is retrieving the same results over and over because there is no where statement.

i know yo do...

@Bigil MM - can you explain what you are doing this for? your code looks very strange to me, unless you are trying to create a grid where every value matches up against every other value?

If that's the case, there is a trick to create a Cartesian Product that will be much simpler and efficient. If it's not, you may be doing something incorrectly

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2021 MyBB Group.