php loop array through separate array's while loop
I've been searching for this for about 2 hours and haven't found anything that specifically matches what I'm trying to do. It might not be possible, but I consider myself basic with php.
I have a php script that runs a MySQL query and uses that data to create an HTML email. The result is put into a while loop used to iterate and create HTML table rows for the n result rows. My primary goal is to use a separate array outside of the MySQL result array that contains an alternating bgcolor for each row, and put a function inside the MySQL result array that alternates between n colors that I choose. I am completely open to other solutions to make this use as little lines of code as possible.
Here is what the incomplete nonworking code basically looks like (using fake color names for readability):
$shade = array("red","blue","green");
$sql1 = "MySQL Query";
$sql1Handle = MySqlQuery($sql1,$DBLink);
while($sql1Data = mysql_fetch_row($sql1Handle))
$htmlText .= "<tr bgcolor = "".$shade[0].""><td>".$sql1Data[0]."</td><td>".$sql1Data[1]."</td><td>".$sql1Data[2]."</td></tr>";
Expected colored result would be (if the MySQL result had 7 rows):
red row $sql1Data[0] $sql1Data[1] $sql1Data[2]
blue $sql1Data[0] $sql1Data[1] $sql1Data[2]
green $sql1Data[0] $sql1Data[1] $sql1Data[2]
red $sql1Data[0] $sql1Data[1] $sql1Data[2]
blue $sql1Data[0] $sql1Data[1] $sql1Data[2]
green $sql1Data[0] $sql1Data[1] $sql1Data[2]
red $sql1Data[0] $sql1Data[1] $sql1Data[2]
I know I can accomplish this task declaring two or more variables as colors and putting an if statement inside the while loop to alternate on each row, but I want to see if this is possible. I use it quite often and I'd prefer to create a function to handle this and provide it with however many colors I want.
Thanks.
php mysql arrays while-loop
|
show 2 more comments
I've been searching for this for about 2 hours and haven't found anything that specifically matches what I'm trying to do. It might not be possible, but I consider myself basic with php.
I have a php script that runs a MySQL query and uses that data to create an HTML email. The result is put into a while loop used to iterate and create HTML table rows for the n result rows. My primary goal is to use a separate array outside of the MySQL result array that contains an alternating bgcolor for each row, and put a function inside the MySQL result array that alternates between n colors that I choose. I am completely open to other solutions to make this use as little lines of code as possible.
Here is what the incomplete nonworking code basically looks like (using fake color names for readability):
$shade = array("red","blue","green");
$sql1 = "MySQL Query";
$sql1Handle = MySqlQuery($sql1,$DBLink);
while($sql1Data = mysql_fetch_row($sql1Handle))
$htmlText .= "<tr bgcolor = "".$shade[0].""><td>".$sql1Data[0]."</td><td>".$sql1Data[1]."</td><td>".$sql1Data[2]."</td></tr>";
Expected colored result would be (if the MySQL result had 7 rows):
red row $sql1Data[0] $sql1Data[1] $sql1Data[2]
blue $sql1Data[0] $sql1Data[1] $sql1Data[2]
green $sql1Data[0] $sql1Data[1] $sql1Data[2]
red $sql1Data[0] $sql1Data[1] $sql1Data[2]
blue $sql1Data[0] $sql1Data[1] $sql1Data[2]
green $sql1Data[0] $sql1Data[1] $sql1Data[2]
red $sql1Data[0] $sql1Data[1] $sql1Data[2]
I know I can accomplish this task declaring two or more variables as colors and putting an if statement inside the while loop to alternate on each row, but I want to see if this is possible. I use it quite often and I'd prefer to create a function to handle this and provide it with however many colors I want.
Thanks.
php mysql arrays while-loop
I hope you're not serious aboutmysql_fetch_row()
. Those functions have been outdated for a decade, and haven't even been included in PHP for 3 years now.
– miken32
Nov 15 '18 at 21:12
Sadly my company is still using v5.2.6
– doolittlet1
Nov 15 '18 at 21:16
1
That's criminally irresponsible. Regardless, it still means you have access to PDO.
– miken32
Nov 15 '18 at 21:18
1
It would be much better to do this with CSS instead. stackoverflow.com/questions/3084261/… (The top answer there uses jQuery, which isn't necessary.)
– Don't Panic
Nov 15 '18 at 21:18
@miken32 I just use what's available to me and learn based on other scripts I find working here to solve the problems I have in my workflow. Not really a programmer.
– doolittlet1
Nov 15 '18 at 21:26
|
show 2 more comments
I've been searching for this for about 2 hours and haven't found anything that specifically matches what I'm trying to do. It might not be possible, but I consider myself basic with php.
I have a php script that runs a MySQL query and uses that data to create an HTML email. The result is put into a while loop used to iterate and create HTML table rows for the n result rows. My primary goal is to use a separate array outside of the MySQL result array that contains an alternating bgcolor for each row, and put a function inside the MySQL result array that alternates between n colors that I choose. I am completely open to other solutions to make this use as little lines of code as possible.
Here is what the incomplete nonworking code basically looks like (using fake color names for readability):
$shade = array("red","blue","green");
$sql1 = "MySQL Query";
$sql1Handle = MySqlQuery($sql1,$DBLink);
while($sql1Data = mysql_fetch_row($sql1Handle))
$htmlText .= "<tr bgcolor = "".$shade[0].""><td>".$sql1Data[0]."</td><td>".$sql1Data[1]."</td><td>".$sql1Data[2]."</td></tr>";
Expected colored result would be (if the MySQL result had 7 rows):
red row $sql1Data[0] $sql1Data[1] $sql1Data[2]
blue $sql1Data[0] $sql1Data[1] $sql1Data[2]
green $sql1Data[0] $sql1Data[1] $sql1Data[2]
red $sql1Data[0] $sql1Data[1] $sql1Data[2]
blue $sql1Data[0] $sql1Data[1] $sql1Data[2]
green $sql1Data[0] $sql1Data[1] $sql1Data[2]
red $sql1Data[0] $sql1Data[1] $sql1Data[2]
I know I can accomplish this task declaring two or more variables as colors and putting an if statement inside the while loop to alternate on each row, but I want to see if this is possible. I use it quite often and I'd prefer to create a function to handle this and provide it with however many colors I want.
Thanks.
php mysql arrays while-loop
I've been searching for this for about 2 hours and haven't found anything that specifically matches what I'm trying to do. It might not be possible, but I consider myself basic with php.
I have a php script that runs a MySQL query and uses that data to create an HTML email. The result is put into a while loop used to iterate and create HTML table rows for the n result rows. My primary goal is to use a separate array outside of the MySQL result array that contains an alternating bgcolor for each row, and put a function inside the MySQL result array that alternates between n colors that I choose. I am completely open to other solutions to make this use as little lines of code as possible.
Here is what the incomplete nonworking code basically looks like (using fake color names for readability):
$shade = array("red","blue","green");
$sql1 = "MySQL Query";
$sql1Handle = MySqlQuery($sql1,$DBLink);
while($sql1Data = mysql_fetch_row($sql1Handle))
$htmlText .= "<tr bgcolor = "".$shade[0].""><td>".$sql1Data[0]."</td><td>".$sql1Data[1]."</td><td>".$sql1Data[2]."</td></tr>";
Expected colored result would be (if the MySQL result had 7 rows):
red row $sql1Data[0] $sql1Data[1] $sql1Data[2]
blue $sql1Data[0] $sql1Data[1] $sql1Data[2]
green $sql1Data[0] $sql1Data[1] $sql1Data[2]
red $sql1Data[0] $sql1Data[1] $sql1Data[2]
blue $sql1Data[0] $sql1Data[1] $sql1Data[2]
green $sql1Data[0] $sql1Data[1] $sql1Data[2]
red $sql1Data[0] $sql1Data[1] $sql1Data[2]
I know I can accomplish this task declaring two or more variables as colors and putting an if statement inside the while loop to alternate on each row, but I want to see if this is possible. I use it quite often and I'd prefer to create a function to handle this and provide it with however many colors I want.
Thanks.
php mysql arrays while-loop
php mysql arrays while-loop
asked Nov 15 '18 at 21:07
doolittlet1doolittlet1
384
384
I hope you're not serious aboutmysql_fetch_row()
. Those functions have been outdated for a decade, and haven't even been included in PHP for 3 years now.
– miken32
Nov 15 '18 at 21:12
Sadly my company is still using v5.2.6
– doolittlet1
Nov 15 '18 at 21:16
1
That's criminally irresponsible. Regardless, it still means you have access to PDO.
– miken32
Nov 15 '18 at 21:18
1
It would be much better to do this with CSS instead. stackoverflow.com/questions/3084261/… (The top answer there uses jQuery, which isn't necessary.)
– Don't Panic
Nov 15 '18 at 21:18
@miken32 I just use what's available to me and learn based on other scripts I find working here to solve the problems I have in my workflow. Not really a programmer.
– doolittlet1
Nov 15 '18 at 21:26
|
show 2 more comments
I hope you're not serious aboutmysql_fetch_row()
. Those functions have been outdated for a decade, and haven't even been included in PHP for 3 years now.
– miken32
Nov 15 '18 at 21:12
Sadly my company is still using v5.2.6
– doolittlet1
Nov 15 '18 at 21:16
1
That's criminally irresponsible. Regardless, it still means you have access to PDO.
– miken32
Nov 15 '18 at 21:18
1
It would be much better to do this with CSS instead. stackoverflow.com/questions/3084261/… (The top answer there uses jQuery, which isn't necessary.)
– Don't Panic
Nov 15 '18 at 21:18
@miken32 I just use what's available to me and learn based on other scripts I find working here to solve the problems I have in my workflow. Not really a programmer.
– doolittlet1
Nov 15 '18 at 21:26
I hope you're not serious about
mysql_fetch_row()
. Those functions have been outdated for a decade, and haven't even been included in PHP for 3 years now.– miken32
Nov 15 '18 at 21:12
I hope you're not serious about
mysql_fetch_row()
. Those functions have been outdated for a decade, and haven't even been included in PHP for 3 years now.– miken32
Nov 15 '18 at 21:12
Sadly my company is still using v5.2.6
– doolittlet1
Nov 15 '18 at 21:16
Sadly my company is still using v5.2.6
– doolittlet1
Nov 15 '18 at 21:16
1
1
That's criminally irresponsible. Regardless, it still means you have access to PDO.
– miken32
Nov 15 '18 at 21:18
That's criminally irresponsible. Regardless, it still means you have access to PDO.
– miken32
Nov 15 '18 at 21:18
1
1
It would be much better to do this with CSS instead. stackoverflow.com/questions/3084261/… (The top answer there uses jQuery, which isn't necessary.)
– Don't Panic
Nov 15 '18 at 21:18
It would be much better to do this with CSS instead. stackoverflow.com/questions/3084261/… (The top answer there uses jQuery, which isn't necessary.)
– Don't Panic
Nov 15 '18 at 21:18
@miken32 I just use what's available to me and learn based on other scripts I find working here to solve the problems I have in my workflow. Not really a programmer.
– doolittlet1
Nov 15 '18 at 21:26
@miken32 I just use what's available to me and learn based on other scripts I find working here to solve the problems I have in my workflow. Not really a programmer.
– doolittlet1
Nov 15 '18 at 21:26
|
show 2 more comments
1 Answer
1
active
oldest
votes
You can use a simple counter and use the mod operator %
to cycle through them, using $current++
each time to move onto the next shade...
$shade = array("red","blue","green");
// Which is the current shade to use
$current = 0;
// Store count so that it is dynamic
$shadeCount = count($shade);
$sql1 = "MySQL Query";
$sql1Handle = MySqlQuery($sql1,$DBLink);
while($sql1Data = mysql_fetch_row($sql1Handle))
$htmlText .= "<tr bgcolor = "".$shade[$current++ % $shadeCount].""><td>".$sql1Data[0]."</td><td>".$sql1Data[1]."</td><td>".$sql1Data[2]."</td></tr>";
Simple and works perfectly! Don't even need a separate function. Thanks so much!
– doolittlet1
Nov 15 '18 at 21:22
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53327906%2fphp-loop-array-through-separate-arrays-while-loop%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use a simple counter and use the mod operator %
to cycle through them, using $current++
each time to move onto the next shade...
$shade = array("red","blue","green");
// Which is the current shade to use
$current = 0;
// Store count so that it is dynamic
$shadeCount = count($shade);
$sql1 = "MySQL Query";
$sql1Handle = MySqlQuery($sql1,$DBLink);
while($sql1Data = mysql_fetch_row($sql1Handle))
$htmlText .= "<tr bgcolor = "".$shade[$current++ % $shadeCount].""><td>".$sql1Data[0]."</td><td>".$sql1Data[1]."</td><td>".$sql1Data[2]."</td></tr>";
Simple and works perfectly! Don't even need a separate function. Thanks so much!
– doolittlet1
Nov 15 '18 at 21:22
add a comment |
You can use a simple counter and use the mod operator %
to cycle through them, using $current++
each time to move onto the next shade...
$shade = array("red","blue","green");
// Which is the current shade to use
$current = 0;
// Store count so that it is dynamic
$shadeCount = count($shade);
$sql1 = "MySQL Query";
$sql1Handle = MySqlQuery($sql1,$DBLink);
while($sql1Data = mysql_fetch_row($sql1Handle))
$htmlText .= "<tr bgcolor = "".$shade[$current++ % $shadeCount].""><td>".$sql1Data[0]."</td><td>".$sql1Data[1]."</td><td>".$sql1Data[2]."</td></tr>";
Simple and works perfectly! Don't even need a separate function. Thanks so much!
– doolittlet1
Nov 15 '18 at 21:22
add a comment |
You can use a simple counter and use the mod operator %
to cycle through them, using $current++
each time to move onto the next shade...
$shade = array("red","blue","green");
// Which is the current shade to use
$current = 0;
// Store count so that it is dynamic
$shadeCount = count($shade);
$sql1 = "MySQL Query";
$sql1Handle = MySqlQuery($sql1,$DBLink);
while($sql1Data = mysql_fetch_row($sql1Handle))
$htmlText .= "<tr bgcolor = "".$shade[$current++ % $shadeCount].""><td>".$sql1Data[0]."</td><td>".$sql1Data[1]."</td><td>".$sql1Data[2]."</td></tr>";
You can use a simple counter and use the mod operator %
to cycle through them, using $current++
each time to move onto the next shade...
$shade = array("red","blue","green");
// Which is the current shade to use
$current = 0;
// Store count so that it is dynamic
$shadeCount = count($shade);
$sql1 = "MySQL Query";
$sql1Handle = MySqlQuery($sql1,$DBLink);
while($sql1Data = mysql_fetch_row($sql1Handle))
$htmlText .= "<tr bgcolor = "".$shade[$current++ % $shadeCount].""><td>".$sql1Data[0]."</td><td>".$sql1Data[1]."</td><td>".$sql1Data[2]."</td></tr>";
answered Nov 15 '18 at 21:14
Nigel RenNigel Ren
28k61934
28k61934
Simple and works perfectly! Don't even need a separate function. Thanks so much!
– doolittlet1
Nov 15 '18 at 21:22
add a comment |
Simple and works perfectly! Don't even need a separate function. Thanks so much!
– doolittlet1
Nov 15 '18 at 21:22
Simple and works perfectly! Don't even need a separate function. Thanks so much!
– doolittlet1
Nov 15 '18 at 21:22
Simple and works perfectly! Don't even need a separate function. Thanks so much!
– doolittlet1
Nov 15 '18 at 21:22
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53327906%2fphp-loop-array-through-separate-arrays-while-loop%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I hope you're not serious about
mysql_fetch_row()
. Those functions have been outdated for a decade, and haven't even been included in PHP for 3 years now.– miken32
Nov 15 '18 at 21:12
Sadly my company is still using v5.2.6
– doolittlet1
Nov 15 '18 at 21:16
1
That's criminally irresponsible. Regardless, it still means you have access to PDO.
– miken32
Nov 15 '18 at 21:18
1
It would be much better to do this with CSS instead. stackoverflow.com/questions/3084261/… (The top answer there uses jQuery, which isn't necessary.)
– Don't Panic
Nov 15 '18 at 21:18
@miken32 I just use what's available to me and learn based on other scripts I find working here to solve the problems I have in my workflow. Not really a programmer.
– doolittlet1
Nov 15 '18 at 21:26