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


sesam_query

sesam_query

(PHP 3 CVS only)

sesam_query -- Exécute une requête SESAM

Description

string sesam_query ( string query [, bool scrollable] )

sesam_query() retourne un identifiant de résultat SESAM en cas de succès, ou FALSE en cas d'erreur.

L'identifiant de résultat est utilisé par d'autres fonctions SESAM pour lire les valeurs.

sesam_query() envoie une requête à la base active. Elle peut exécuter aussi bien une requête immédiate (DELETE, UPDATE ou INSERT), ou une requête de selection. Si une requête immédiate est exécutée, aucun curseur n'est alloué, et il ne sera pas possible d'utiliser les fonctions sesam_fetch_row() ou sesam_fetch_result(). Pour les requêtes de selection, un descripteur de résultat et un curseur (scrollable ou séquentiel, suivant le paramètre optionnel scrollable passé) sera alloué. Si scrollable est omis, le curseur sera séquentiel.

Lorsque vous utilisez les curseurs à défilement, le curseur peut être positionné librement dans le résultat. Pour chaque requête à défilement, il existe des valeurs globales de types de défilement (initialisée à :SESAM_SEEK_NEXT) et la position peut être fixée une seule fois par sesam_seek_row() ou bien à chaque appel, avec la fonction sesam_fetch_row().

Pour les requêtes immédiates, le nombre de lignes affectées est sauvé, et est accessible par la fonction sesam_affected_rows().

Exemple 1. Liste toutes les lignes de table "phone" sous forme de table HTML

<?php
if (!sesam_connect("phonedb", "demo", "toto")) {
  die(
"cannot connect");
}
$result = sesam_query("select * from phone");
if (!
$result) {
  
$err = sesam_diagnostic();
  die (
$err["errmsg"]);
}
echo
"<table border=\"1\">\n";
// Ajoute l'en-tête de titre comme nom de colonne
if ($cols = sesam_field_array($result)) {
  echo
"<tr><th colspan=\"".$cols["count"]."\">Résultat:</th></tr>\n";
  echo
"<tr>\n";
  for (
$col = 0; $col < $cols["count"]; ++$col) {
    
$colattr = $cols[$col];
    
/* étend les en-têtes de la table au-dessus des champs multiples */
    
if ($colattr["count"] > 1) {
      echo
"<th colspan=\"".$colattr["count"]."\">".$colattr["name"].
           
"(1..".$colattr["count"].")</th>\n";
      
$col += $colattr["count"] - 1;
    } else {
       echo
"<th>" . $colattr["name"] . "</th>\n";
    }
  }
  echo
"</tr>\n";
}

do {
  
// Lit les résultats par bloc de 100
  
$ok = sesam_fetch_result($result,100);
  for (
$row=0; $row < $ok["rows"]; ++$row) {
    echo
"<tr>\n";
    for (
$col = 0; $col < $ok["cols"]; ++$col) {
      if (isset(
$ok[$col][$row])) {
        echo
"<td>" . $ok[$col][$row] . "</td>\n";
      } else {
        echo
"<td>-empty-</td>\n";
      }
    }
    echo
"</tr>\n";
  }
} while (
$ok["truncated"]); // tant qu'il a y encore des données

echo "</table>\n";
// libère les ressources
sesam_free_result($result);
?>

Voir aussi : sesam_fetch_row() et sesam_fetch_result().


Manuel PHP 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