Выборка из БД
Как вывести всё содержимое базы данных?
В базе данных есть таблица: songs. В ней поля: id и title . id title 1 song1 2 song2 Код jQuery $.ajax({ type: "POST", url: "/ajax.php", dataType: "json", async: false, success: function(data){ // получения данных: song1, song2 } }); Код из ajax.php if (!mysql_connect(localhost, admin, root)) { exit(mysql_error()); } mysql_select_db("withmusic",mysql_connect(localhost, admin, root)); mysql_set_charset( 'utf8' ); $query = mysql_query("SELECT * FROM songs ORDER BY id DESC"); $result = mysql_fetch_array($query); do{ echo json_encode($result['title']); echo "<br/>"; } while ($result = mysql_fetch_array($query)); Как мне вывести и song1 и song2? |
header('Content-Type: application/json'); $json = array('status' => false); $bd = new MySQLi('host', 'user', 'password', 'bd'); $query = $bd->query('SELECT * FROM `songs` ORDER BY `id` DESC'); $len = $query->num_rows; if($len) { $json['status'] = true; $json['data'] = array(); for($i=0; $i<$len; $i++) $json['data'][$i] = $query->fetch_assoc(); } $bd->close(); echo json_encode($json); $.post('/ajax.php', {}, function(json) { json = JSON.parse(json); if(json.status) { //code // for(var i=0; i<json.data.length; i++) alert(json.data[i].title); } else alert('Error!'); }); |
Спасибо большое, а можешь подсказать, как теперь правильно вывести?
вместо //code пишу, например, alert(); не работает. for(var i=0; i<json.data.length; i++) alert(json.data[i].title); Эта строка, так же, ничего не дает. |
1. Никогда не вставляйте код подключения к базе данных в скрипт. Вы должны выработать для себя как аксиому. Это Singleton одиночка должны быть во всех ваших проектах.
2. close используется когда надо принудительно закрыть соединение, действие происходит автоматически 3. ид в таблицах обычно инкремент, так что ORDER BY `id` DESC' лишнее Мой вариант:) <?php //file dbConnect.php class DbConnect { private static $instance = null; final private function __construct(){} final private function __clone(){} public static function getInstance() { if (!self::$instance) { if (!function_exists('mysqli_connect')) { die('Адаптер MySQL mysqli не доступен'); } self::$instance = mysqli_connect( HOSTNAME, USERNAME, PASSWORD, DBNAME ) or die("Не удалось подключиться к MySQL: (" . self::$instance->connect_errno . ") " . self::$instance->connect_error); mysqli_set_charset(self::$instance, "utf8"); } return self::$instance; } } class DbFunction { private $db; public function __construct() { $this->db = DbConnect::getInstance(); } public function load_table($table) { $resultArray = array(); if ($result = $this->db->query("SELECT * FROM $table")) { while ($row = $result->fetch_array(MYSQL_ASSOC)) { $resultArray[] = $row; } } return $resultArray; } } Используем require_once "db.config.php"; // в нем задаем HOSTNAME, USERNAME, PASSWORD, DBNAME require_once "dbConnect.php"; $db = new DbFunction(); $songs= $db->load_table("songs"); echo json_encode($songs); die; //прекращаем работу |
Всем, спасибо, получилось)
|
Часовой пояс GMT +3, время: 12:11. |