Как я могу реализовать DataSet
в PHP, например .NET?
Я хочу, чтобы этот класс читал данные из базы данных только один раз, тогда я должен иметь возможность использовать данные, не подключаясь снова к MySQL для выполнения запросов.
select * from user
Когда я запускаю этот запрос в DataSet
данные извлекаются из памяти.
Как я могу реализовать этот механизм в PHP?
Вы можете подтолкнуть свои данные к массиву следующим образом:
$result = mysql_query( 'select * from user' ); $results = array(); while ( $row = mysql_fetch_array( $result ) ) { array_push( $results, $row ); } mysql_close();
Затем вы можете выполнять любые операции, которые вы хотите в массиве …
foreach( $results as $record ){ $foo = $record['col_name']; //... }
То, что вы описываете, это классы контейнеров данных DataSet
/ DataTable
.NET, которые могут работать в отключенном режиме.
DataReader
является своего рода курсором и должен иметь открытое соединение для перемещения по результирующему набору базового запроса.
В PHP вы можете сделать это:
<?PHP $user_name = "root"; $password = ""; $database = "addressbook"; $server = "127.0.0.1"; $db_handle = mysql_connect($server, $user_name, $password); $db_found = mysql_select_db($database, $db_handle); if ($db_found) { $SQL = "SELECT * FROM tb_address_book"; $result = mysql_query($SQL); while ($db_field = mysql_fetch_assoc($result)) { print $db_field['ID'] . "<BR>"; print $db_field['First_Name'] . "<BR>"; print $db_field['Surname'] . "<BR>"; print $db_field['Address'] . "<BR>"; } mysql_close($db_handle); } else { print "Database NOT Found "; mysql_close($db_handle); } ?>
Я не думаю, что php может обеспечить то, что вы ищете, так как это очень много текстового кода и HTML-кода, поэтому вы не получаете причудливые объекты GUI, как в .NET. PEAR предоставляет множество исходных кодов, которые будут создавать сетки данных, которые вы могли бы исследовать, все хранящиеся в коде, например массивы и т. Д. Я относительно новичок в php, поэтому, возможно, кто-то не согласится …