Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Menu
· Accueil ·

· Communication ·
  · Forums
  · Messages privés
  · Contactez nous
  · Recommendez nous
  · Sondages
  · Les projets

· Nouvelles ·Stats
  · Sujets
  · Ecrire un article
  · Articles archivés
  · Articles RSS
  · Lettre de sécurité
  · Archive de lettres

· Téléchargements ·
  · Accueil
  · Nouveautés
  · Mises à jour
  · Thêmes

· Outils ·
  · Outils divers
  · Convertisseur de temps
  · Table de caractères
  · Générateur de boutons
  · Compresseur Javascript

· Documentation ·
  · Wiki
  · Questions/Réponses
  · Documents
  · Manuel PHP-Nuke
  · Manuel PHP
  · Manuel PEAR
  · Encyclopédies

· Liens ·
  · Nos liens
  · Nos fluxs RSS
  · Partenaires
  · Votre publicité
  · Sitemap
  · Mes bannières

· Infos ·
  · Rechercher
  · Votre compte
  · Liste des membres
  · Carte des membres
  · Top

· Divers ·
  · Météo
  · Galeries
  · Statistiques Phpnuke
  · MS Analysis


Introduction - Récupération

Introduction - Récupération

Introduction - Récupération -- Récupération des lignes depuis une requête

Description

Récupération des lignes par numéro

Le système de récupération PEAR MDB supporte également un paramètre supplémentaire pour la requête de récupération. Donc, vous pouvez récupérer les lignes depuis un résultat par son numéro. Ceci est particulièrement utile si vous voulez uniquement voir le jeu d'un résultat complet (par exemple, lors de la pagination HTML), récupération des lignes dans un ordre particulier, etc.

Libération du jeu de résultats

Il est recommandé de terminer le jeu de résultats après l'exécution afin de préserver la mémoire. Utilisez la méthode freeResult() pour cela.

Récupération rapide de données

MDB fournit des façons spéciales pour récupérer de l'information depuis une requête sans avoir besoin d'utiliser de méthodes fetch*() et de boucler les résultats.

queryOne() récupère le premier résultat de la première colonne d'une requête.
$numrows = $db->queryOne('select count(id) from clients');

queryRow() récupère la première ligne et la retourne sous la forme d'un tableau.
$sql = 'select name, address, phone from clients where id=1';
if (is_array($row = $db->queryRow($sql))) {
   list($name, $address, $phone) = $row;
}

queryCol() retourne un tableau contenant les données des colonnes sélectionnées. Elle accepte le numéro de la colonne à récupérer dans le second paramètre.
$all_client_names = $db->queryCol('SELECT name FROM clients');
La requête ci-dessus retourne, par exemple :
$all_client_names = array('Stig', 'Jon', 'Colin');

getAll() récupère toutes les lignes retournées d'une requête. Cette méthode a également plusieurs paramètres qui vous permettent de retourner les données sous la forme d'un tableau associatif, en utilisant la première colonne en tant que clé.
$data = getAll('SELECT id, text, date FROM mytable');
/*
Retournera :
array(
   1 => array('4', 'four', '2004'),
   2 => array('5', 'five', '2005'),
   3 => array('6', 'six', '2006')
)
*/

La famille de méthodes query*() effectue tout le sal boulot à votre place, c'est-à-dire : lancer la requête, récupérer les donées et libérer le résultat. Notez que toutes les fonctions PEAR MDB retournent un objet MDB_Error si une erreur survient.

Récupération de plus d'informations depuis les résultats

Avec MDB, vous avez plusieurs amnières de récupérer des informations utiles depuis les résultats. Elles sont :

  • numRows() : Retourne le nombre total de lignes retourné depuis une requête "SELECT".
    // Nombre de lignes
    echo $db->numRows($res);

  • numCols() : Retourne le nombre total de colonnes retourné depuis une requête "SELECT".
    // Nombre de colonnes
    echo $db->numCols($res);

  • affectedRows() : Retourne le nombre de lignes affectées par une requête de manipulation de données ("INSERT", "UPDATE" ou "DELETE").
    // Cette requête ne retourne pas d'objet résultat
    $db->query('DELETE * FROM clients');
    echo 'J\'ai effacé ' . $db->affectedRows() . ' clients.';

  • tableInfo() : Retourne un tableau associatif contenant les informations sur les champs retournés d'une requête "SELECT".
    // Information sur la table
    print_r($db->tableInfo($res));

N'oubliez pas de vérifier si le résultat retourné par votre action n'est pas un objet MDB_Error. Si vous obtenez un message d'erreur comme << MDB_Error: database not capable >>, cela signifie que votre gestionnaire de base de données ne supporte pas cette action.


Manuel PEAR pour PHP-Nuke © www.stefvar.com
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx