@Develm

Вывести массив из mysql json как?

Есть код
$(".send-id-form").submit(function(){
			var data = {
			  "action": "test"
			};
			data = $(this).serialize() + "&" + $.param(data);
			$.ajax({
			  type: "POST",
			  dataType: "json",
			  url: "../modules/configurate/json.php", //Relative or absolute path to response.php file
			  data: data,
			  success: function(data) {
				$(".test-ajax-js").html(
				  "Favorite beverage: " + data["Name"] + "<br />Favorite restaurant: " + data["Descrpition"] + "<br />Gender: " + data["id"]
				);

				console.log("Form submitted successfully.\nReturned json: " + data["json"]);
			  }
			});
			return false;
		  });

И php
if (is_ajax()) {
  if (isset($_POST["action"]) && !empty($_POST["action"])) { //Checks if action value exists
    $action = $_POST["action"];
    switch($action) { //Switch case for value of action
      case "test": test_function(); break;
    }
  }
}

//Function to check if the request is an AJAX request
function is_ajax() {
  return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
}

function test_function(){
	$id = $_POST['id_edit_now'];
	$data = array();
	$send = mysql_query("SELECT * FROM structure WHERE id = '$id'");
	
	while($row = mysql_fetch_assoc($send)){ 								  
		$data[] = $row; 
	}
  
  echo json_encode($data);
}

В общем не догоняю как вывести как в php mysql_fetch_assoc, только json - data["тут имя поля"]
  • Вопрос задан
  • 785 просмотров
Пригласить эксперта
Ответы на вопрос 4
Stalker_RED
@Stalker_RED
Если вам нужно только одно поле, делайте SELECT myField FROM ... вместо SELECT *

isset($_POST["action"]) && !empty($_POST["action"])
- избыточная конструкция, достаточно !empty($_POST["action"]) в empty() как-бы свой встроенный isset().

И да, про инъекции и pdo вам всё правильно подсказывают.
Ответ написан
Комментировать
edli007
@edli007
full stack, team lead

php.net/manual/ru/function.mysql-query.php
Внимание
Данное расширение устарело, начиная с версии PHP 5.5.0, и будет удалено в будущем.


php.net/manual/ru/ref.pdo-mysql.php
Ответ написан
Комментировать
Вы делаете выборку всех столбцов в таблице. Если хотите выводить только необходимые данные используйте конструкцию:

$send = mysql_query("SELECT `ПОЛЕ` FROM structure WHERE id = '$id'");

$data = $row['ПОЛЕ'];
или
$data = $row['0'];
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.

$id = $_POST['id_edit_now'];
$data = array();
$send = mysql_query("SELECT * FROM structure WHERE id = '$id'");

Batman_Robin_01.jpg
https://www.google.ru/webhp?sourceid=chrome-instan...

phpfaq.ru/pdo
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы