Pour la lecture sql on dois disposer de la classe sql.
En module il n'y a pas de souci.
Mais pour les menu, étant dans une fonction il faut déclaré la classe en global
global $Sql;
Pour une lecture sql, il faut se connecter a la db. Par le framework, la connection est deja prete. Elle est automatique.
On passe donc directement a l'étape query, soit la lecture/écriture sql.
Pour un module, il n'y a pas a chargée de classe particuliere, elle est déjà prete a l'emploie.
En php sans le framework une query ressemble a :
ensuite il faut utiliser une autre fonction pour pouvoir utiliser les resultat comme :
mysql_result(), mysql_fetch_array(), mysql_fetch_row() ...
Avec le framework c'est un peu pareil, la connexion en moins, et une lecture directe avec certaines fonction.
query( string $query, int $errline, int $errfile)
query() envoie une seule requête (les requêtes multiples ne sont pas supportées) à la base de données.
retour: query() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.
Paramètres:
$query Selection query
$errline Utilisez la constante __LINE__ . Il est très intéressant quand vous déboguez votre script et que vous voulez savoir où est appelé la requête qui rend une erreur.
$errfile Utilisez la constante __FILE__ . Il est très intéressant quand vous déboguez votre script et que vous voulez savoir où est appelé la requête qui rend une erreur.
Exemple (dans le forum topic.php ligne 112) :
Cette lecture compte le nombre de message de la table 'forum_msg correspondant au condition donnée.
Dans ce cas on utilise directement de resultat de la lecture sql.
query_while( query $query, int $errline, int $errfile)
Cette méthode permet d'exécuter une requête qui récupère plusieurs chan dans la base de données.
retour:
query_while() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.
pour exploiter le retour de cette fonction il faut utiliser fetch_assoc().
Paramètres:
$query Selection query
$errline Utilisez la constante __LINE__ . Il est très intéressant quand vous déboguez votre script et que vous voulez savoir où est appelé la requête qui rend une erreur.
$errfile Utilisez la constante __FILE__ . Il est très intéressant quand vous déboguez votre script et que vous voulez savoir où est appelé la requête qui rend une erreur.
Exemple (dans member.php ligne 893) :
On lis et récupère toutes les valeurs id et name qui sont dans la table group.
Pour l'utiliser on utilise la fonction fetch_assoc() ligne 895.
query_array( string $table, string $field, string $clause, int $errline, int $errfile)
Cette méthode fait automatiquement une requête sur plusieurs champs d'une table.
retour :
query_array() retournera un tableau (array()) en cas de succès, ou FALSE en cas d'erreur.
Paramètres:
$table Nom de la table a interroger.
$field Nom des chan a lire.
$clause Les conditions qui permettrons à la méthode de savoir dans quelle ligne il doit sélectionner les valeurs. Elles doivent respecter la syntaxe MySQL et commencer avec 'WHERE'.
$errline Utilisez la constante __LINE__ . Il est très intéressant quand vous déboguez votre script et que vous voulez savoir où est appelé la requête qui rend une erreur.
$errfile Utilisez la constante __FILE__ . Il est très intéressant quand vous déboguez votre script et que vous voulez savoir où est appelé la requête qui rend une erreur.
Exemple (dans member.php ligne 62) :
Cette ligne lis la table mebre de pbt, et selectionne la serie de chan de user_lang à user_notif_mail, la condition est en relation avec l'user_id.
chaque valeur est mise en tableau pour chaque chan lu.
pour user_id = 1 cela vaut :
$row['user_id'] = 1
;
query_close( resource $resource)
Libère la mémoire liée a la lecture/écriture sql.
retours : true / false celons si la mémoire a été libéré ou non.
Paramètres:
$resources l'appel sql qui a utiliser la base de donnée.
Exemple (dans member.php a la ligne 361)
Dans ce cas là on libere la memoire de $result passé ligne 282
fetch_assoc( resource $result)
Parcourt une rangée MySQL ressource de résultat par ligne. Lorsque vous appelez cette méthode sur une ressource, vous obtenez le rang suivant.
retour : Un tableau associatif dont les clés sont le nom de chaque chan et les valeurs sont la valeur du chan. Il retourne false lorsque vous êtes à la fin des lignes.
Paramètres:
$resources La ressource est fournie par la méthode query_while.
exemple (dans member ligne 287) :
On passe dans une boucle le tableau associatif de la lecture $result dans $row pour chaque niveau.
Aussi on aura $row['name'] = un pseudo pour chaque niveau de la db.
Il existe aussi la methode fetch_row( resource $result)
Cette méthode n'est pas utiliser dans les modules.