PHP Doku:: Setzt einen Feld-Offset - function.mssql-field-seek.html

Verlauf / Chronik / History: (1) anzeigen

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

Ein Service von Reinhard Neidl - Webprogrammierung.

Mssql-Funktionen

<<mssql_field_name

mssql_field_type>>

mssql_field_seek

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

mssql_field_seekSetzt einen Feld-Offset

Beschreibung

bool mssql_field_seek ( resource $result , int $field_offset )

Sucht bis zum angegebenen field_offset. Wenn der nächste Aufruf von mssql_fetch_field() keinen Feld-Offset enthält, wird dieses Feld zurückgegeben.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

field_offset

Der Offset des Feldes, beginnend bei 0

Rückgabewerte

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

Beispiele

Beispiel #1 Die Verwendung von mssql_field_seek() im Beispiel für mssql_fetch_field()

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

// Eine Select-Anfrage an MSSQL senden
$anfrage mssql_query('SELECT * FROM [php].[dbo].[persons]');

// Eine Tabelle bauen
echo '<h3>Tabellenstruktur für \'persons\'</h3>';
echo 
'<table border="1">';

// Tabellenkopf
echo '<thead>';
echo 
'<tr>';
echo 
'<td>Feldname</td>';
echo 
'<td>Datentyp</td>';
echo 
'<td>Max. Länge</td>';
echo 
'</tr>';
echo 
'</thead>';

// Alle Felder anzeigen
echo '<tbody>';

for (
$i 0$i mssql_num_fields($anfrage); ++$i) {
    
// Feldinformationen abrufen; beachten Sie: der
    // Parameter field_offset ist nicht gesetzt.
    // Siehe Aufruf von mssql_field_seek weiter unten.
    
$feld mssql_fetch_field($anfrage);

    
// Eine Zeile ausgeben
    
echo '<tr>';
    echo 
'<td>' $field->name '</td>';
    echo 
'<td>' strtoupper($field->type) . '</td>';
    echo 
'<td>' $field->max_length '</td>';
    echo 
'</tr>';

    
// Den internen Suchzeiger zum nächsten
    // Datensatz des Ergebnisses verschieben
    
mssql_field_seek($anfrage$i 1);
}

echo 
'</tbody>';
echo 
'</table>';

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

Siehe auch


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
kevin_tom at hotmail dot com
15.05.2004 23:47
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



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",...)