簡體   English   中英

如何選擇另一個值是數組的值?

[英]How to select values where another value is an array?

我正在嘗試選擇另一個 POST 值是數組的值,我不知道我的查詢有什么問題給我這個錯誤。 我想知道剛剛添加到表中的課程。 我在表單中有五個輸入。

Notice: Trying to get property of non-object in C:\Apache\htdocs\xxx\addcourse.php on line 262

這是我的代碼

  <?php 
    if(isset($_POST['Submit'])) {

      $code= isset($_POST['code']) ? $_POST['code'] : '';
      $coursecode = isset($_POST['coursecode']) ? $_POST['coursecode'] : '';
      $both=$code[$x] .' '. $coursecode[$x];

      $sqlcourses = "SELECT * FROM courses where course_code='$both' ORDER BY course_id DESC LIMIT 5 ";
      $resultcourses = $mysqli->query($sqlcourses);


        if ($resultcourses->num_rows > 0) {


            while($row = $resultcourses->fetch_assoc()) {

                ?>
                </p>
                <p>&nbsp;</p>
                <p>&nbsp;  </p>
                <table width="415" border="0">
                <tr>
                <?php
                $courses=$row["course_code"];
                echo $courses;
                ?>
                    </div>
                </tr>
                  </table>
              <?php 
            }
        }
    }
?>

首先,構建一個要檢索的課程代碼數組; 為簡單起見,我要離開邊界檢查:

$codes = [];
foreach ($_POST['code'] as $k => $code) {
    $codes[] = $code . ' ' . $_POST['coursecode'][$k];
}

然后,您准備要使用的語句:

$stmt = $mysqli->prepare("SELECT * 
  FROM courses 
  WHERE course_code = ?
  ORDER BY course_id DESC 
  LIMIT 5");

其次是主循環:

foreach ($codes as $code) {
    $stmt->bind_param('s', $code);
    assert($stmt->execute());

    $res = $stmt->get_result();
    while ($row = $res->fetch_assoc()) {
      // ...
    }
}

你可以用小的修改代碼嘗試這種方式

首先,您必須將字符串轉換為數組以獲取數組中的索引 (x)

$code = explode(" ", $code);
$course = explode(" ", $coursecode);
foreach ($code as $cd => $x) {
    $both = $code[$x].' '.$coursecode[$x];
    $sqlcourses = "SELECT * FROM courses where course_code='$both' ORDER BY course_id DESC LIMIT 5 ";
    $resultcourses = $mysqli->query($sqlcourses);
}

其次,您可以根據您的情況選擇變量 $code 或 $course 作為循環長度

foreach ($course as $crs => $x) {
    your condition...
}

希望能幫到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM