PHP Doku:: Bewegt den internen Datensatzzeiger - function.mssql-data-seek.html

Verlauf / Chronik / History: (31) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenMicrosoft SQL ServerMssql-Funktionenmssql_data_seek

Ein Service von Reinhard Neidl - Webprogrammierung.

Mssql-Funktionen

<<mssql_connect

mssql_execute>>

mssql_data_seek

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_data_seekBewegt den internen Datensatzzeiger

Beschreibung

bool mssql_data_seek ( resource $result_identifier , int $row_number )

mssql_data_seek() bewegt den internen Datensatzzeiger des mit der angegebenen Ergebniskennung result_identifier verbundenen Ergebnisses zur angegebenen Datensatznummer row_number, wobei der erste Datensatz die Nummer 0 hat. Beim nächsten Aufruf von mssql_fetch_row() wird nun dieser Datensatz zurückgeben.

Parameter-Liste

result_identifier

Der Bezeichner des Ergebnisses, das ausgewertet wird

row_number

Die gewünschte Zeilennummer des neuen Datensatzzeigers

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_data_seek()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
$verbindung mssql_connect('MANGO\SQLEXPRESS''sa''phpfi');
mssql_select_db('php'$verbindung);

// Leute auswählen
$anfrage mssql_query('SELECT [name], [age] FROM [persons] WHERE [age] >= 13');

if (!
$anfrage) {
    die(
'Die Anfrage schlug fehl.');
}

// Aus dem Ergebnis jeden vierten Schüler auswählen
for ($i mssql_num_rows($anfrage) - 1$i 4$i++) {
    if (!
mssql_data_seek($anfrage$i))
    {
        continue;
    }

    
// Datensatz holen ...
}

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
phpcomments at hltools dot com
20.07.2005 13:33
mssql_data_seek will return false AND trigger a warning ('Bad row offset') if you specify a row outside the result set.
You'll need to check beforehand if the row you are trying to seek to exists. Or you can supress the error and look for the false result, depending on your needs.

To check beforehand (where $result is the result fo your query and $seek is the row number you want to seek to):
<?php
$rowcount
= mssql_num_rows($result);
if (
$seek >= $rowcount)
{
    print (
"Trying to seek outside result set!");
}
else
{
    if (!
mssql_data_seek($result, $seek))
    {
        print (
"Seek failed");
    }
    else
    {
        print (
"Seek complete");
    }
}
?>

To have a 'simpler' way of handling errors by supressing the warning:
<?php
if (!@mssql_data_seek($result, $seek))
{
    print (
"Seek failed");
}
else
{
    print (
"Seek complete");
}
?>



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)