система ранжирования зданий с данными из базы данных

Я создаю систему ранжирования, которая берет данные (итоговые данные) из базы данных и оценивает их от наивысшего до самого низкого. Вот код:

$data = array( 'A'=>19,'B'=>18,'C'=>17,'D'=>17,'E'=>16,'F'=>15 ); //Populate the arrays with data from mysql /* -- -- Table structure for table `data` -- CREATE TABLE IF NOT EXISTS `data` ( `id` int(11) NOT NULL AUTO_INCREMENT, `totals` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=501 ; -- -- Dumping data for table `data` -- INSERT INTO `data` (`id`, `totals`) VALUES (1, 468), (2, 450), (3, 400), (4, 419), (5, 400), (6, 400), (7, 500), (8, 489), (9, 412), (10, 385); */ $rank = 0; $lastScore = PHP_INT_MAX; foreach( $data as $name=>$score ) { if ( $lastScore !== $score ) { $lastScore = $score; $rank += 1; } printf("%s %d (%d)\n", $name, $score, $rank); } 

Я хочу, чтобы заполнить переменную ($ data) значениями, хранящимися в базе данных, как я могу это сделать ?.

Solutions Collecting From Web of "система ранжирования зданий с данными из базы данных"

Undgerman – вам нужно будет подключиться к базе данных MySQL:

http://us2.php.net/manual/en/function.mysql-connect.php

Затем выберите свою базу данных:

http://us2.php.net/manual/en/function.mysql-select-db.php

Затем выполните MySQL Query:

http://us2.php.net/manual/en/function.mysql-query.php

Затем выберите результат:

http://us2.php.net/manual/en/function.mysql-fetch-assoc.php


ПРИМЕР

 <?php mysql_connect( 'host', 'username', 'password' ); mysql_select_db( 'database' ); $result = mysql_query( 'SELECT * FROM `data`' ); $data = mysql_fetch_assoc( $result ); ?> 

Поймите, вы можете сортировать эти данные в самом запросе:

 $result = mysql_query( 'SELECT * FROM `data` ORDER BY `totals`' ); 

Я теперь закончил создание простой системы ранжирования, и я думал, что должен поделиться своим кодом. Захватите пакет db от груши, проект нуждается в этом.

 <?php require_once 'DB.php'; $dsn = array( 'phptype' => 'mysql', 'username' => 'root', 'password' => '', 'hostspec' => 'localhost', 'database' => 'rm-db', ); $options = array( 'debug' => 2, 'portability' => DB_PORTABILITY_ALL, ); $db =& DB::connect($dsn, $options); if (PEAR::isError($db)) { die($db->getMessage()); } $data =& $db->getCol('SELECT totals FROM data order by totals desc'); if (PEAR::isError($data)) { die($data->getMessage()); } //print_r($data); //Populate the arrays with data from mysql and arrange in descending order. //SELECT * FROM data order by totals desc /* -- -- Table structure for table `data` -- CREATE TABLE IF NOT EXISTS `data` ( `id` int(11) NOT NULL AUTO_INCREMENT, `totals` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=501 ; -- -- Dumping data for table `data` -- INSERT INTO `data` (`id`, `totals`) VALUES (1, 468), (2, 450), (3, 400), (4, 419), (5, 400), (6, 400), (7, 500), (8, 489), (9, 412), (10, 385); */ $rank = 0; $lastScore = PHP_INT_MAX; foreach( $data as $name=>$score ) { if ( $lastScore !== $score ) { $lastScore = $score; $rank += 1; } printf("%s %d (%d)\n", $name, $score, $rank); }