Получить данные из базы данных с помощью цикла while и вставить в другую таблицу в php и mysql - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть две таблицы, я извлек данные из одной из них, используя цикл while.я пытаюсь вставить обратно во вторую таблицу, но все безрезультатно.ниже мой код. enter code here

if(isset($_POST["sendOrder"]))
{
 $uid = $_SESSION["userid"];
 $sql = "UPDATE cart SET status = 'ordered' WHERE user_id = $uid"; 
 $run_query = $cartAdd->connection->query($sql);
 if($run_query){
  $sqlOrder = "SELECT * FROM cart WHERE status = 'ordered' AND user_id = '$uid'";
  $result = $cartAdd->connection->query($sqlOrder);
  $RowNum = $result->num_rows; 
  $Items = $result->fetch_all(MYSQLI_ASSOC)){ 
  $ownerId = $Items["owner_id"];
  $productId = $Items["p_id"];
  $userId = $Items["user_id"];
  $dateCreated = $Items["duration"];
  for($i = 0; $i <= $RowNum; $i++){ 
    $query = "INSERT INTO orders VALUES (NULL, '$userId[$i]', '$ownerId[$i]', '$productId[$i]', '$dateCreated[$i]')";
    $cartAdd->connection->query($query);
  }
  }
    // if($cartAdd->createOrder($uid, $ownerId, $productId, $dateCreated) == TRUE){
    // echo '<div class="alert alert-success alert__no__border alert-dismissible fade show" role="alert"><button type="button" class="close" data-dismiss="alert"><span>×</span></button>Your order has been sent</div>';
    // }
 }
}`

1 Ответ

0 голосов
/ 21 сентября 2018

https://dotnetfiddle.net/hWKzMo, Ваш просмотр:

@{
    Layout = null;
}
<!DOCTYPE html>
@*credit to https://stackoverflow.com/questions/51525958/dropdownlist-with-java-script*@
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Tut118</title>
    <script src="~/Scripts/jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#btnGetNew").click(function () {
                var theData = $('#thePassedData').val();
                var passMe = { passedData: theData };
                $.ajax({
                    type: "POST",
                    url: "/Home/GetDataButDontOverrwite",
                    data: passMe,
                    dataType: 'json',
                    success: function (data) {
                        $.each(data, function (i, anObj) {
                            $("#TheDropDown").append($('<option>').text(anObj.Text).attr('value', anObj.Value));
                        });
                    }
                });
            })
        })
    </script>
</head>
<body>
    <div>
        <input type="hidden" id="thePassedData" value="2" />
        <input type="button" id="btnGetNew" value="GetNew" />
        <p />
        This dropdown initally contains values and when you 'GetNew', it adds more values
        <p />
        @Html.DropDownList("TheDropDown", ViewBag.Drop as List<SelectListItem>)
        <p />
        The above dropdown, text, and button are part of the old page, and when you click on 'GetNew',
        new values will be added to the page, but the new values will NOT overrite the old value
    </div>
</body>
</html>

Ваш контроллер / модель просмотра:

public class passMe
{
    public string passedData { get; set; }
}

public class HomeController : Controller
{
    [HttpPost]
    public string GetDataButDontOverrwite(passMe passMe)
    {
        var drop2 = new List<SelectListItem>();
        SelectListItem sli1 = new SelectListItem { Text = "MoreOptions1", Value = "MoreOptions1" };
        SelectListItem sli2 = new SelectListItem { Text = "MoreOptions2", Value = "MoreOptions2" };
        drop2.Add(sli1);
        drop2.Add(sli2);
        //You need Newtonsoft.JSON
        return JsonConvert.SerializeObject(drop2);
    }

    public ActionResult Tut118()
    {
        List<SelectListItem> drop = new List<SelectListItem>();
        SelectListItem sli1 = new SelectListItem { Selected = true, Text = "Option1", Value = "Option1" };
        SelectListItem sli2 = new SelectListItem { Text = "Option2", Value = "Option2" };
        drop.Add(sli1);
        drop.Add(sli2);
        ViewBag.Drop = drop;
        return View();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...