Equivalent à mysql_data_seek() ?
Bonjour,
Pour compenser un problème lié au driver odbc (je me connecte à SqlServer2005) :
Citation:
odbc_num_rows() retourne le nombre de lignes dans un résultat ODBC. odbc_num_rows() retournera -1 en cas d'erreur. Pour les commandes INSERT, UPDATE et DELETE, odbc_num_rows() retourne le nombre de ligne affectées. Pour les commandes SELECT, cela PEUT être le nombre de lignes disponibles, mais ce n'est pas certain.
Note: odbc_num_rows() après un SELECT retournera -1 avec de nombreux pilotes.
Je me suis refait ma propre fonction :
Code:
1 2 3 4 5 6 7 8 9 10
|
protected function _num_rows($result)
{
$i=0;
while($ligne = odbc_fetch_row($result)){
$i++;
}
if( $i == 0 ) return -1;
else return $i;
} |
le probleme : odbc_fetch_row() lit le 1er résultat contenu dans $result puis place le curseur sur le 2eme résultat et ainsi de suite. Donc, une fois que je connais le nombre de résultat contenu dans $result, j'ai l'air malin, car je ne peux plus avoir les résultats de ma requête......
Avez vous une astuce qui me permettrai de passer outre?
Je voudrais dans la mesure du possible ne pas faire 2 requêtes, car je trouve cela inutile. Au pire, je veux bien coder une fonction odbc_data_seek(), si vous avez un bon tuto sur la manipulation de resultat de requete.