How to iterate over an array from a Query of Mysql query

It may be easy for you, but I cannot get it.

I have a php class that queries the database and returns the result of the query. I assign the result to an array and want to use it on my main.PHP script. I tried using echo $ var [0] or echo $ var [1], but the output is an β€œarray” instead of my value. Can anyone help me with this issue? Many thanks!

My php class

<?php 
class teamQuery {

            function teamQuery(){


            }
            function getAllTeam(){
                $connection = mysql_connect(DB_SERVER,DB_USER,DB_PASS);
                    if (!$connection) {
                        die("Database connection failed: " . mysql_error());
                    }

                    $db_select = mysql_select_db(DB_NAME,$connection);
                    if (!$db_select) {
                        die("Database selection failed: " . mysql_error());
                    }

                  $teamQuery=mysql_query("SELECT * FROM team", $connection);

                    if (!$teamQuery){
                        die("database has errors: ".mysql_error());
                          }
                    $ret = array();   

                    while($row=mysql_fetch_array($teamQuery)){

                    $ret[]=$row;
                    }     
                    mysql_free_result($teamQuery); 

                    return $ret;
                    }


            }


?>

My php on main.php

$getTeam=new teamQuery();
$team=$getTeam->getAllTeam();

   //echo $team[0] or team[1] output 'array' string!
  // while($team){
  // do something }  can't work either

  // How to loop through the values??

Thank!

+3
source share
5 answers

, $team[0] $team[1] . , , . id, name ..
2- , :

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => foo
        )

    [1] => Array
        (
            [id] => 2
            [name] => bar
        )
)

, for foreach:

foreach($team as $member) {
    foreach($member as $k=>$v) {
        echo $k . ': ' . $v;
    }
}

.

+2

: print_r . , , . HTML <pre>, . :

echo '<pre>'; print_r($variable); echo '</pre>';

-: , , . $ret print_r , . mysql_fetch_assoc. :

while ($row = mysql_fetch_assoc($teamQuery)) {
  echo '<pre>'; print_r($row); echo '</pre>'
}

, key value, . "" " ", "" "35" .. :

echo $row['name']; // John Doe

, . , . , , :

while ($row = mysql_fetch_assoc($teamQuery)) {
  $results[$row['id']]['name'] = $row['name'];
  // etc
}

, . ( *), :

while ($row = mysql_fetch_assoc($teamQuery)) {
  foreach ($row as $key => $value) {
    $results[$row['id']][$key] = $value;
  }
}

$results :

Array
(
    [1] => Array
        (
            [id] => 1
            [name] => John Doe
        )

    [2] => Array
      (
          [id] => 2
          [name] => Jane Doe
      )
)

... . foreach . $key $value; - . : $results ( $ret) $team $members, , . :

foreach ($team as $memberId => $member) {
  echo $member['name']; // John Doe, Jane Doe, etc.
}
+2

( ):

foreach ($team as $member) {
    echo $member[0];
    echo $member[1];
    //etc.
}
+1

, . print_r , .

, , .

foreach ($team as $t) {
    echo $t["name"] . "<br />"; // hopefully it "name", the * in your query isn't really self-documenting
}
+1
foreach ($team as $t)
    echo $t[0];
+1

Source: https://habr.com/ru/post/1746072/


All Articles