mssql_field_seek()
(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
Seeks to the specified field offset
WarningThis function wasREMOVEDin PHP 7.0.0.
说明
mssql_field_seek(resource $result,int $field_offset): bool
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
。
范例
Example #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); ?>
参见
mssql_fetch_field()
Get field information
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