Running a foreach loop with IF/ELSE using a MYSQLI while loop

Multi tool use
Multi tool use












1















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?










share|improve this question























  • 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
















1















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?










share|improve this question























  • 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














1












1








1








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?










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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



















  • 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












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
});


}
});














draft saved

draft discarded


















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
















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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
Skua0g4gDGNp0,fdG5,iGj,3z2bleNAS VZbxCCOj8cTeRKAP6YkRGt,KicQ 6cThn IEBSDDlr

Popular posts from this blog

Monofisismo

Angular Downloading a file using contenturl with Basic Authentication

Olmecas