Разнесите строку базы данных и сравните значение с другой строкой в php

#php #mysql #arrays #if-statement #explode

#php #mysql #массивы #if-оператор #разнесите

Вопрос:

Я застрял в части моего проекта, где мне нужно сравнить ввод флажка, который я получил в своей базе данных, с другим значением.

Мне нужно разделить входные данные с помощью explode и сравнить каждое из значений, чтобы увидеть, совпадает ли какое-либо из них со списком входных данных. Если какой-либо из них это сделает, я хочу повторить значения тех, которые совпадают.

Разделение входных данных сработало, но сравнение не работает. Ниже приведен мой код.

             <?php
            $cou = explode(',' , $row_rsCourse['courses']);
            foreach($cou as $mark){
                $mark1 = $mark."<br>";
                    }

                if ($mark1 = $row_rsCourselist['code'] ){echo $row_rsCourselist['name'];}else {echo "Failed";}
            ?>


                /*
                For example: 
                $row_rsCourse['courses'] = (a,b,d,g,i)
                $row_rsCourselist['code'] = is a database column which contains letters a - z in different input
                $row_rsCourselist['name'] = is a database column which contains names from a - z in different inputs e.g (Andre Ben Charlie etc)
                */
  

НИЖЕ ПРИВЕДЕН ПОЛНЫЙ ИСХОДНЫЙ КОД

                 <?php require_once('Connections/dbConnect.php'); ?>
                <?php
                //initialize the session
                if (!isset($_SESSION)) {
                  session_start();
                }

                // ** Logout the current user. **
                $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
                if ((isset($_SERVER['QUERY_STRING'])) amp;amp; ($_SERVER['QUERY_STRING'] != "")){
                  $logoutAction .="amp;". htmlentities($_SERVER['QUERY_STRING']);
                }

                if ((isset($_GET['doLogout'])) amp;amp;($_GET['doLogout']=="true")){
                  //to fully log out a visitor we need to clear the session varialbles
                  $_SESSION['MM_Username'] = NULL;
                  $_SESSION['MM_UserGroup'] = NULL;
                  $_SESSION['PrevUrl'] = NULL;
                  unset($_SESSION['MM_Username']);
                  unset($_SESSION['MM_UserGroup']);
                  unset($_SESSION['PrevUrl']);

                  $logoutGoTo = "index.php";
                  if ($logoutGoTo) {
                    header("Location: $logoutGoTo");
                    exit;
                  }
                }
                ?>
                <?php
                if (!isset($_SESSION)) {
                  session_start();
                }
                $MM_authorizedUsers = "";
                $MM_donotCheckaccess = "true";

                // *** Restrict Access To Page: Grant or deny access to this page
                function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
                  // For security, start by assuming the visitor is NOT authorized. 
                  $isValid = False; 

                  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
                  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
                  if (!empty($UserName)) { 
                    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
                    // Parse the strings into arrays. 
                    $arrUsers = Explode(",", $strUsers); 
                    $arrGroups = Explode(",", $strGroups); 
                    if (in_array($UserName, $arrUsers)) { 
                      $isValid = true; 
                    } 
                    // Or, you may restrict access to only certain users based on their username. 
                    if (in_array($UserGroup, $arrGroups)) { 
                      $isValid = true; 
                    } 
                    if (($strUsers == "") amp;amp; true) { 
                      $isValid = true; 
                    } 
                  } 
                  return $isValid; 
                }

                $MM_restrictGoTo = "login.php";
                if (!((isset($_SESSION['MM_Username'])) amp;amp; (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
                  $MM_qsChar = "?";
                  $MM_referrer = $_SERVER['PHP_SELF'];
                  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "amp;";
                  if (isset($_SERVER['QUERY_STRING']) amp;amp; strlen($_SERVER['QUERY_STRING']) > 0) 
                  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
                  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
                  header("Location: ". $MM_restrictGoTo); 
                  exit;
                }
                ?>
                <?php
                if (!function_exists("GetSQLValueString")) {
                function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
                {
                  if (PHP_VERSION < 6) {
                    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
                  }

                  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

                  switch ($theType) {
                    case "text":
                      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
                      break;    
                    case "long":
                    case "int":
                      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
                      break;
                    case "double":
                      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
                      break;
                    case "date":
                      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
                      break;
                    case "defined":
                      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
                      break;
                  }
                  return $theValue;
                }
                }

                $colname_rsRecord = "-1";
                if (isset($_SESSION['MM_Username'])) {
                  $colname_rsRecord = $_SESSION['MM_Username'];
                }
                mysql_select_db($database_dbConnect, $dbConnect);
                $query_rsRecord = sprintf("SELECT * FROM reg WHERE email = %s", GetSQLValueString($colname_rsRecord, "text"));
                $rsRecord = mysql_query($query_rsRecord, $dbConnect) or die(mysql_error());
                $row_rsRecord = mysql_fetch_assoc($rsRecord);
                $totalRows_rsRecord = mysql_num_rows($rsRecord);

                $colname_rsCourse = "-1";
                if (isset($_SESSION['MM_Username'])) {
                  $colname_rsCourse = $_SESSION['MM_Username'];
                }
                mysql_select_db($database_dbConnect, $dbConnect);
                $query_rsCourse = sprintf("SELECT * FROM course WHERE email = %s", GetSQLValueString($colname_rsCourse, "text"));
                $rsCourse = mysql_query($query_rsCourse, $dbConnect) or die(mysql_error());
                $row_rsCourse = mysql_fetch_assoc($rsCourse);
                $totalRows_rsCourse = mysql_num_rows($rsCourse);

                mysql_select_db($database_dbConnect, $dbConnect);
                $query_rsCourselist = "SELECT * FROM courselist";
                $rsCourselist = mysql_query($query_rsCourselist, $dbConnect) or die(mysql_error());
                $row_rsCourselist = mysql_fetch_assoc($rsCourselist);
                $totalRows_rsCourselist = mysql_num_rows($rsCourselist);
                ?>
                <!DOCTYPE html>
                <html lang="en">

                <head>

                    <meta charset="utf-8">
                    <meta http-equiv="X-UA-Compatible" content="IE=edge">
                    <meta name="viewport" content="width=device-width, initial-scale=1">
                    <meta name="description" content="">
                    <meta name="author" content="">

                    <title>TACTSA Seminary School</title>

                    <!-- Bootstrap Core CSS -->
                    <link href="css/bootstrap.min.css" rel="stylesheet">

                    <!-- Custom CSS -->
                    <link href="css/agency.css" rel="stylesheet">

                    <!-- Custom Fonts -->
                    <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
                    <link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
                    <link href='https://fonts.googleapis.com/css?family=Kaushan Script' rel='stylesheet' type='text/css'>
                    <link href='https://fonts.googleapis.com/css?family=Droid Serif:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
                    <link href='https://fonts.googleapis.com/css?family=Roboto Slab:400,100,300,700' rel='stylesheet' type='text/css'>

                <link rel="stylesheet" href="//blueimp.github.io/Gallery/css/blueimp-gallery.min.css">
                <link rel="stylesheet" href="css/bootstrap-image-gallery.css">
                <link rel="stylesheet" href="css/demo.css">

                    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
                    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
                    <!--[if lt IE 9]>
                        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
                        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
                    <![endif]-->
                <script src='https://www.google.com/recaptcha/api.js'></script>

                </head>

                <body id="page-top" class="index">

                    <!-- Navigation -->
                    <nav class="navbar navbar-default navbar-fixed-top">
                        <div class="container">
                            <!-- Brand and toggle get grouped for better mobile display -->
                            <div class="navbar-header page-scroll">
                                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                                  <span class="sr-only">Toggle navigation</span>
                                    <span class="icon-bar"></span>
                                    <span class="icon-bar"></span>
                                    <span class="icon-bar"></span>
                                </button>
                                <a class="navbar-brand page-scroll" href="#page-top"><img src="img/logo.png"alt="TACTSA Seminary School"/></a>
                            </div>

                            <!-- Collect the nav links, forms, and other content for toggling -->
                             <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                              <ul class="nav navbar-nav navbar-right">
                                    <li class="hidden">
                                        <a href="#page-top"></a>
                                    </li>
                                                      <li>
                                        <a class="page-scroll" href="index.php">School</a>
                                    </li>
                                    <li>
                                        <a class="page-scroll" href="home.php">My Home</a>
                                    </li>
                                    <li>
                                        <a class="page-scroll" href="#">Results</a>
                                    </li>
                                    <li>
                                        <a class="page-scroll" href="#">Printout</a>
                                    </li>
                                    <li>
                                        <a class="page-scroll portfolio-link" href="#">Study Materials</a>
                                    </li>
                                    <li>
                                      <a href="<?php echo $logoutAction ?>" class="page-scroll portfolio-link" >Logout</a>
                                    </li>
                                </ul>
                            </div>

                            <!-- /.navbar-collapse -->
                        </div>
                        <!-- /.container-fluid -->
                    </nav>

                    <!-- Header -->

                    <!--End Header -->
                 <!-- Registration Section -->
                    <section class="headtext">
                        <div class="container">

                            <div class="row">
                                <div class="col-lg-12 text-center">
                                    <h2 class="section-heading">STUDENT PORTAL</h2>
                                </div>
                            </div>
                            </div>
                        </section>

                    <section id="registration">
                        <div class="container">

                        <!-- Form Submission Alert -->


                          <div class="row">
                                <div class="col-lg-12 text-center">
                                    <h2 class="section-heading">User Profile</h2>
                                </div>
                            </div>

                                <!-- Start Registration Form -->
                                 <div id="reg" class="col-sm-12">
                                 <div class="page-header">  
                <strong>Name:</strong>
                <div class="well well-sm">
                  <p><?php echo ucwords($row_rsRecord['fname']." ".$rsRecord['lname']); ?></p>
                  <p><strong>Gender:</strong> <?php echo $row_rsRecord['gender']; ?></p>
                </div>
                <strong>CONTACTS:</strong>
                <div class="well well-sm"> 
                  <p><?php echo $row_rsRecord['mobile']; ?> | <?php if(empty($row_rsRecord['email'])){echo 'N/A';}else{echo $row_rsRecord['email'];}  ?>
                  </p>
                  <p><?php echo $row_rsRecord['address']; ?></p>
                  <p><strong>State of Origin:</strong> <?php echo $row_rsRecord['state']; ?></p>
                  <p><strong>Nationality: </strong><?php echo $row_rsRecord['nationality']; ?></p>
                </div>  
                </div>
                <strong>REGISTERED COURSES</strong>
                <div class="well well-sm"> 
                                <?php
                                $cou = explode(',' , $row_rsCourse['courses']);
                                foreach($cou as $mark){
                                    $mark1 = $mark."<br>";
                                        }

                                    if ($mark1 = $row_rsCourselist['code'] ){echo $row_rsCourselist['name'];}else {echo "Failed";}
                                ?>

                </div>  
                </div>

                          </div>
                  <!-- End Registration Form -->
                            </div>
                    </section>


                    <footer>
                        <div class="container">
                            <div class="row">
                                <div class="col-md-4">
                                    <span class="copyright">Copyright amp;copy; Tactsa 2016</span>
                                </div>
                                <div class="col-md-4">
                                    <ul class="list-inline social-buttons">
                                        <li><a href="#" target="_blank"><i class="fa fa-twitter"></i></a>
                                        </li>
                                        <li><a href="#" target="_blank"><i class="fa fa-facebook"></i></a>
                                        </li>
                                        <li><a href="#"><i class="fa fa-linkedin"></i></a>
                                        </li>
                                    </ul>
                                </div>
                                <div class="col-md-4">
                                    <ul class="list-inline quicklinks">
                                        <li><a class="page-scroll portfolio-link" href="#privacy" data-toggle="modal">Privacy Policy</a>
                                        </li>
                                        <li><a class="page-scroll portfolio-link" href="#terms" data-toggle="modal">Terms and Conditions</a>
                                        </li>  <li><a class="page-scroll portfolio-link" href="#faq" data-toggle="modal">FAQs</a>
                                        </li>
                                    </ul>
                                </div>
                            </div>
                        </div>
                    </footer>


                <!-- Terms and Conditions -->
                    <div class="portfolio-modal modal fade" id="terms" tabindex="-1" role="dialog" aria-hidden="true">
                        <div class="modal-content">
                            <div class="close-modal" data-dismiss="modal">
                                <div class="lr">
                                    <div class="rl">
                                    </div>
                                </div>
                            </div>
                            <div class="container">
                                <div class="row">
                                    <div class="col-lg-8 col-lg-offset-2">
                                        <div class="modal-body">
                                        <div class="page-header">
                  <h1>Coming Soon</h1>
                </div>

                            <button type="button" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-times"></i> Return</button>
                          </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

                     <!-- FAQ -->
                    <div class="portfolio-modal modal fade" id="faq" tabindex="-1" role="dialog" aria-hidden="true">
                        <div class="modal-content">
                            <div class="close-modal" data-dismiss="modal">
                                <div class="lr">
                                    <div class="rl">
                                    </div>
                                </div>
                            </div>
                            <div class="container">
                                <div class="row">
                                    <div class="col-lg-8 col-lg-offset-2">
                                        <div class="modal-body">
                                        <div class="page-header">
                  <h1>Coming Soon</h1>
                </div>

                            <button type="button" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-times"></i> Return</button>
                          </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

                     <!-- Privacy -->
                    <div class="portfolio-modal modal fade" id="privacy" tabindex="-1" role="dialog" aria-hidden="true">
                        <div class="modal-content">
                            <div class="close-modal" data-dismiss="modal">
                                <div class="lr">
                                    <div class="rl">
                                    </div>
                                </div>
                            </div>
                            <div class="container">
                                <div class="row">
                                    <div class="col-lg-8 col-lg-offset-2">
                                        <div class="modal-body">
                                        <div class="page-header">
                  <h1>Coming Soon</h1>
                </div>

                            <button type="button" class="btn btn-primary" data-dismiss="modal"><i class="fa fa-times"></i> Return</button>
                          </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>




                    <!-- jQuery -->
                    <script src="js/jquery.js"></script>

                    <!-- Bootstrap Core JavaScript -->
                    <script src="js/bootstrap.min.js"></script>

                    <!-- Plugin JavaScript -->
                    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
                    <script src="js/classie.js"></script>
                    <script src="js/cbpAnimatedHeader.js"></script>

                    <!-- Contact Form JavaScript -->
                    <script src="js/jqBootstrapValidation.js"></script>
                    <script src="js/contact_me.js"></script>

                    <!-- Custom Theme JavaScript -->
                    <script src="js/agency.js"></script>
                    <!-- Bootstrap JS is not required, but included for the responsive demo navigation and button states -->

                <script src="//blueimp.github.io/Gallery/js/jquery.blueimp-gallery.min.js"></script>


                </body>

                </html>
                <?php
                mysql_free_result($rsRecord);

                mysql_free_result($rsCourse);

                mysql_free_result($rsCourselist);
                ?>
  

Комментарии:

1. удалите mark1 = mark."<br>"; строку и поместите if оператор в foreach цикл для начала…

2. Привет @Alex, я сделал это, но это повторило только «a» в пяти местах (aaaaa)

3. Да, попробуйте if ($mark == $row_rsCourselist['code']) { echo $row_Courselist['name']; }

4. Могу ли я просмотреть код раньше $cou = explode() ? Я хочу знать, получаете ли вы это прямо из БД в каком-то цикле.

5. Привет, я обновил код в своем вопросе

Ответ №1:

Я использовал «rows» и «row», чтобы было более понятно, что происходит, вместо фактического $row_rsCourse, который вы использовали. Это чище, и другим будет легче увидеть. Вам нужно будет немного отредактировать, чтобы это сработало, но вы должны получить то, что вам нужно. Помните, что вы используете POST для передачи значения флажка в PHP.

 <?php

    // Set the value of your input to a variable
        $input_value = isset($_POST['your_checkbox_name']);
    // You also need to set an array of all of the rows in the database that have code, name, course, etc.
        $rows = your_rows_in_the_database;
            // for each row in the database that has a code, name, course, etc.
            foreach($rows as $row){
            // If your input value matches with $row['code'] of the current object in the loop
                if ($input_value == $row['code']) {
                    // Whatever you want to echo out
                    echo $row['name'];
                } else {
                    echo 'No matches were found';
                }
            }
?>
  

Комментарии:

1. Привет @alex-rindone Я пробовал с вашим образцом, но у меня ничего не получилось.

2. Скорее всего, вам придется немного изменить ее в соответствии с вашими потребностями, но это направление, в котором вы хотите двигаться. Я видел, что вы обновили свой исходный код, чтобы я мог более подробно ознакомиться с ним позже сегодня.

3. @Jahswey, чему равен $cou? Мне любопытно посмотреть, как это выглядит в var_dump.

4. Я присваиваю строки, которые я разнес из базы данных, в $ cou

5. извините за мой поздний ответ, был в пути с утра