I have be struggling to turn the below while loop into a foreach loop with no result, so I am asking for help here on how to do this.

$query = "Select * from TIME_TABLE Where
Extract(month from DATE_FIELD ) = DATE_FORMAT(NOW(), '%c')
and
Extract(day from DATE_FIELD ) = DATE_FORMAT(NOW(), '%e')
order by DATE_FIELD, DESCRIPTION";
$result = $mysqli->query($query);

while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
    $dbItems .=  "<item> <record_num>" . $row['RECORD_NUM'] . "</record_num>" .
        "<date_field>" .   $row['DATE_FIELD'] . "</date_field>" .
        "<description>" .  $row['DESCRIPTION'] . "</description> </item>";
}

PS
I posted this in the wrong group earlier today.

Recommended Answers

All 4 Replies

what you did seems to be right.
why do you want it to be turned into foreach.
foreach works for arrays only.

What I did with the while works. I wanted to learn how to use the foreach for onething but I thought that I could work directley with $results and save a line of code. Does that make sense?

No, i think it does not, because as i said above, foreach works with the arrays and in the while your while runs, your result array is in the process of getting formed.i am sure, its still not clear to you.its ok, just work around with the below example i gave .It will definitely help you to understand the use of foreach (this simple and nice example i took from manual) -

$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)

experiment with foreach more and you will be the master in it:)

just thought id also add in a bit.
remember that mysql fetch array returns only one row each time the query runs, first run returns first row of the mysql resource, the second run second row and so on and returns a false if there is no more... so the cleanest way to go about is to use a while loop as u did IF u r fetching from DB. As network18 said, the best way is to practice and 'explore' be it foreach loop or anything else :)

commented: Kekkaishi as good energy and insight +2
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.