mssql_field_seek
(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
mssql_field_seek — Seeks to the specified field offset
Описание
bool mssql_field_seek
( resource
$result
, int $field_offset
)Seeks to the specified field offset. If the next call to mssql_fetch_field() won't include a field offset, this field would be returned.
Список параметров
-
result
-
The result resource that is being evaluated. This result comes from a call to mssql_query().
-
field_offset
-
The field offset, starts at 0.
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Примеры
Пример #1 Using mssql_field_seek() on the example for mssql_fetch_field()
<?php
// Connect to MSSQL and select the database
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');
// Send a select query to MSSQL
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');
// Construct table
echo '<h3>Table structure for \'persons\'</h3>';
echo '<table border="1">';
// Table header
echo '<thead>';
echo '<tr>';
echo '<td>Field name</td>';
echo '<td>Data type</td>';
echo '<td>Max length</td>';
echo '</tr>';
echo '</thead>';
// Dump all fields
echo '<tbody>';
for ($i = 0; $i < mssql_num_fields($query); ++$i) {
// Fetch the field information, notice the
// field_offset parameter is not set. See
// the mssql_field_seek call below
$field = mssql_fetch_field($query);
// Print the row
echo '<tr>';
echo '<td>' . $field->name . '</td>';
echo '<td>' . strtoupper($field->type) . '</td>';
echo '<td>' . $field->max_length . '</td>';
echo '</tr>';
// Move the internal seek pointer to the next
// row in the result set
mssql_field_seek($query, $i + 1);
}
echo '</tbody>';
echo '</table>';
// Free the query result
mssql_free_result($query);
?>
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с базами данных
- Расширения для работы с базами данных отдельных производителей
- Microsoft SQL Server
- mssql_bind
- mssql_close
- mssql_connect
- mssql_data_seek
- mssql_execute
- mssql_fetch_array
- mssql_fetch_assoc
- mssql_fetch_batch
- mssql_fetch_field
- mssql_fetch_object
- mssql_fetch_row
- mssql_field_length
- mssql_field_name
- mssql_field_seek
- mssql_field_type
- mssql_free_result
- mssql_free_statement
- mssql_get_last_message
- mssql_guid_string
- mssql_init
- mssql_min_error_severity
- mssql_min_message_severity
- mssql_next_result
- mssql_num_fields
- mssql_num_rows
- mssql_pconnect
- mssql_query
- mssql_result
- mssql_rows_affected
- mssql_select_db
Коментарии
Don't know this would help.
If you are using mssql to loop through a web page. Here is how to do it:
Suppose you want to select a few fields from t1 joining to t2
$numPerPage=10;
if(empty($offset))
$offset=0;
if($next_x){
$offset+=$numPerPage;
}
if($previous_x){
$offset-=$numPerPage;
}
$qry_string = "SELECT DISTINCT TOP $numPerPage t1.field1, t1.field2 from t1 LEFT
JOIN t2 ON t2.field1=t1.field1
WHERE t2.another_field='specific_val'
AND t1.fields
NOT IN
(SELECT DISTINCT TOP $offset tmpT1.field1
FROM t1 AS tmpT1 LEFT
JOIN t2 ON t2.field1=tmpT1.field1
WHERE t2.another_field='specific_val'
)";
// then run the above $qry_string using the while loop