Running a foreach loop with IF/ELSE using a MYSQLI while loop
![Multi tool use Multi tool use](http://sgv.ssvwv.com/sg/ssvwvcomimagb.png)
Multi tool use
I'm generating a array using a foreach loop, but to check if the input is correct I'm checking it against a database, hence the While loop.
However, this code.. obviously ends up running everything twice.......
while($mp = mysqli_fetch_assoc($mappings_selected)) {
foreach ($inputdata as $key => $val) {
$value = str_replace(array("r", "n", "rn", "v", "t", "","x"), " ", $val);
$pos = substr($value,0, strpos($value, ' '));
$fnc1 = $mp['function_1'];
$fnc2 = $mp['function_2'];
$rank_1 = $mp['rank_1'];
$rank_2 = $mp['rank_2'];
$rank_3 = $mp['rank_2'];
$usergrp = $mp['user_group'];
if (preg_match("/^(?=.*(?:b$fnc1b|b$fnc2b))(?=.*(?:b$rank_1b|b$rank_2b|b$rank_3b)).*$/", $val) ){
$usergroup = ",,,,,,,,,,,".$coursegroup.$usergrp.",";
} else ......
My goal would be to run the foreach loop, then in each iteration check for matches against the database, without ALL the code running twice...
Any advice?
php mysqli foreach while-loop
add a comment |
I'm generating a array using a foreach loop, but to check if the input is correct I'm checking it against a database, hence the While loop.
However, this code.. obviously ends up running everything twice.......
while($mp = mysqli_fetch_assoc($mappings_selected)) {
foreach ($inputdata as $key => $val) {
$value = str_replace(array("r", "n", "rn", "v", "t", "","x"), " ", $val);
$pos = substr($value,0, strpos($value, ' '));
$fnc1 = $mp['function_1'];
$fnc2 = $mp['function_2'];
$rank_1 = $mp['rank_1'];
$rank_2 = $mp['rank_2'];
$rank_3 = $mp['rank_2'];
$usergrp = $mp['user_group'];
if (preg_match("/^(?=.*(?:b$fnc1b|b$fnc2b))(?=.*(?:b$rank_1b|b$rank_2b|b$rank_3b)).*$/", $val) ){
$usergroup = ",,,,,,,,,,,".$coursegroup.$usergrp.",";
} else ......
My goal would be to run the foreach loop, then in each iteration check for matches against the database, without ALL the code running twice...
Any advice?
php mysqli foreach while-loop
You would need to post the whole while loop at least.
– digijay
Dec 31 '18 at 14:20
that is the whole while loop, but I don't know where to start and/or end it.. The only thing the while loop is used for is the preg_match...
– dahrem
Dec 31 '18 at 14:22
1
This is one complicated code, Your issue might not be how to solve your problem with the provided code, but it might be about finding a better approach to accomplish your task. Since I don't have the full picture here I would suggest you cache your results somewho & use the cached result to increase your performance (I assume that's why you asked this question), if you need actual help with your design ... please provide background info about what you are trying to accomplish and how you are doing it.
– ahmad
Dec 31 '18 at 14:38
add a comment |
I'm generating a array using a foreach loop, but to check if the input is correct I'm checking it against a database, hence the While loop.
However, this code.. obviously ends up running everything twice.......
while($mp = mysqli_fetch_assoc($mappings_selected)) {
foreach ($inputdata as $key => $val) {
$value = str_replace(array("r", "n", "rn", "v", "t", "","x"), " ", $val);
$pos = substr($value,0, strpos($value, ' '));
$fnc1 = $mp['function_1'];
$fnc2 = $mp['function_2'];
$rank_1 = $mp['rank_1'];
$rank_2 = $mp['rank_2'];
$rank_3 = $mp['rank_2'];
$usergrp = $mp['user_group'];
if (preg_match("/^(?=.*(?:b$fnc1b|b$fnc2b))(?=.*(?:b$rank_1b|b$rank_2b|b$rank_3b)).*$/", $val) ){
$usergroup = ",,,,,,,,,,,".$coursegroup.$usergrp.",";
} else ......
My goal would be to run the foreach loop, then in each iteration check for matches against the database, without ALL the code running twice...
Any advice?
php mysqli foreach while-loop
I'm generating a array using a foreach loop, but to check if the input is correct I'm checking it against a database, hence the While loop.
However, this code.. obviously ends up running everything twice.......
while($mp = mysqli_fetch_assoc($mappings_selected)) {
foreach ($inputdata as $key => $val) {
$value = str_replace(array("r", "n", "rn", "v", "t", "","x"), " ", $val);
$pos = substr($value,0, strpos($value, ' '));
$fnc1 = $mp['function_1'];
$fnc2 = $mp['function_2'];
$rank_1 = $mp['rank_1'];
$rank_2 = $mp['rank_2'];
$rank_3 = $mp['rank_2'];
$usergrp = $mp['user_group'];
if (preg_match("/^(?=.*(?:b$fnc1b|b$fnc2b))(?=.*(?:b$rank_1b|b$rank_2b|b$rank_3b)).*$/", $val) ){
$usergroup = ",,,,,,,,,,,".$coursegroup.$usergrp.",";
} else ......
My goal would be to run the foreach loop, then in each iteration check for matches against the database, without ALL the code running twice...
Any advice?
php mysqli foreach while-loop
php mysqli foreach while-loop
asked Dec 31 '18 at 14:11
dahremdahrem
61
61
You would need to post the whole while loop at least.
– digijay
Dec 31 '18 at 14:20
that is the whole while loop, but I don't know where to start and/or end it.. The only thing the while loop is used for is the preg_match...
– dahrem
Dec 31 '18 at 14:22
1
This is one complicated code, Your issue might not be how to solve your problem with the provided code, but it might be about finding a better approach to accomplish your task. Since I don't have the full picture here I would suggest you cache your results somewho & use the cached result to increase your performance (I assume that's why you asked this question), if you need actual help with your design ... please provide background info about what you are trying to accomplish and how you are doing it.
– ahmad
Dec 31 '18 at 14:38
add a comment |
You would need to post the whole while loop at least.
– digijay
Dec 31 '18 at 14:20
that is the whole while loop, but I don't know where to start and/or end it.. The only thing the while loop is used for is the preg_match...
– dahrem
Dec 31 '18 at 14:22
1
This is one complicated code, Your issue might not be how to solve your problem with the provided code, but it might be about finding a better approach to accomplish your task. Since I don't have the full picture here I would suggest you cache your results somewho & use the cached result to increase your performance (I assume that's why you asked this question), if you need actual help with your design ... please provide background info about what you are trying to accomplish and how you are doing it.
– ahmad
Dec 31 '18 at 14:38
You would need to post the whole while loop at least.
– digijay
Dec 31 '18 at 14:20
You would need to post the whole while loop at least.
– digijay
Dec 31 '18 at 14:20
that is the whole while loop, but I don't know where to start and/or end it.. The only thing the while loop is used for is the preg_match...
– dahrem
Dec 31 '18 at 14:22
that is the whole while loop, but I don't know where to start and/or end it.. The only thing the while loop is used for is the preg_match...
– dahrem
Dec 31 '18 at 14:22
1
1
This is one complicated code, Your issue might not be how to solve your problem with the provided code, but it might be about finding a better approach to accomplish your task. Since I don't have the full picture here I would suggest you cache your results somewho & use the cached result to increase your performance (I assume that's why you asked this question), if you need actual help with your design ... please provide background info about what you are trying to accomplish and how you are doing it.
– ahmad
Dec 31 '18 at 14:38
This is one complicated code, Your issue might not be how to solve your problem with the provided code, but it might be about finding a better approach to accomplish your task. Since I don't have the full picture here I would suggest you cache your results somewho & use the cached result to increase your performance (I assume that's why you asked this question), if you need actual help with your design ... please provide background info about what you are trying to accomplish and how you are doing it.
– ahmad
Dec 31 '18 at 14:38
add a comment |
0
active
oldest
votes
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%2f53988401%2frunning-a-foreach-loop-with-if-else-using-a-mysqli-while-loop%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
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%2f53988401%2frunning-a-foreach-loop-with-if-else-using-a-mysqli-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
LnO,f6k4,fxkmJ,BvPff1pKpIXPc8r3cPwyBM0WTMo
You would need to post the whole while loop at least.
– digijay
Dec 31 '18 at 14:20
that is the whole while loop, but I don't know where to start and/or end it.. The only thing the while loop is used for is the preg_match...
– dahrem
Dec 31 '18 at 14:22
1
This is one complicated code, Your issue might not be how to solve your problem with the provided code, but it might be about finding a better approach to accomplish your task. Since I don't have the full picture here I would suggest you cache your results somewho & use the cached result to increase your performance (I assume that's why you asked this question), if you need actual help with your design ... please provide background info about what you are trying to accomplish and how you are doing it.
– ahmad
Dec 31 '18 at 14:38