Я вызываю php-страницу res.php, используя jquery и ajax. Код: –
$('#submit_button').click(function () { buildingVal = $("#building"); levelVal = $("#level"); data = 'building=' + buildingVal.val() + 'level=' + levelVal.val(); $.ajax( { url: "res.php", type: "POST", data: data, success: function (data) { $('#npc').html(data); } }); });
коды страницы res.php: –
<?php //connect to the database $con = mysql_connect("localhost","root","12345") or die("error ".mysql_error()); //connect to the travian table mysql_select_db("trav",$con) or die("error ".mysql_error()); $building = mysql_real_escape_string($_GET['building']); $level = mysql_real_escape_string($_GET['level']); $query = "select * from "; $query = $query . $building; $query = $query . "where lvl=" . $level; $query = $query . ";"; $result = mysql_query($query) or die('Error in Child Table!'); $data = mysql_fetch_assoc($result); echo '<table><tr><td>Lumber=$data["lumber"]</td><td>Clay=$data["clay"]</td><td>Iron=$data["iron"]</td><td>Crop=$data["crop"]</td>'; ?>
Я получаю ошибку
Notice: Undefined index: building in C:\xampp\htdocs\debal\res.php on line 8 Notice: Undefined index: level in C:\xampp\htdocs\debal\res.php on line 9 Error in Child Table!
Как мне извлечь оба параметра, которые были отправлены на страницу, и использовать их в запросе sql для извлечения данных из таблицы в базе данных. Пожалуйста, не могли бы вы мне помочь ..
Проблема в том, что вы отправляете значения $ _POST через AJAX и пытаетесь назначить переменные из $ _GET на странице res.php. Измените функцию AJAX на type: "GET"
или
$building = mysql_real_escape_string($_POST['building']); $level = mysql_real_escape_string($_POST['level']);
на res.php
также вы не отправляете переменную уровня выше, вам не хватает '&'
data = 'building=' + buildingVal.val() + '&level=' + levelVal.val();