Votre espace

 



Livre d'or

Par R4Z0R

Merci a toute la communauté CsN pour ces magnifiques themes et modules , surtoùt a Swan
Grace a vous ma communauté avance bien

Livre d'or

Statistiques

616 membres inscrits

Dernier membre:
Sebastien

Plus de stats

Vous soutenez CsN :


[09/05/12] Striker: €15.00

[07/05/12] o_neil90: €5.00

[30/04/12] Sonic: €5.00

[28/04/12] Striker: €15.00

[27/04/12] Xtian: €20.00

[24/04/12] Yvan.G: €5.00

[30/03/12] Xtian: €20.00

[16/03/12] Julien. P: €5.00

[16/03/12] Steph: €5.00

[12/03/12] MarcelD: €4.00

[11/03/12] Harper: €15.00

[11/03/12] French Storm: €5.00

[03/03/12] Anthony .D: €5.00

[01/03/12] Gregory. F: €5.00

[29/02/12] Xtian: €20.00

[19/02/12] Pascal .G: €5.00

[15/02/12] HaloRaptor33: €5.00

[08/02/12] Yannick.D: €5.00

[06/02/12] M-ickael: €20.00

[03/02/12] Zarkox: €5.00

[31/01/12] Pearson: €5.00

[30/01/12] Xtian: €20.00

[29/01/12] Apple-F F: €5.00

[23/01/12] Loïc.T: €5.00

[22/01/12] Obi-wan: €5.00

[18/01/12] J-Louis.O: €5.00

[06/01/12] Loïc.B: €5.00

[03/01/12] Gibbs/Phil: €25.00

[02/01/12] Xtian: €20.00


..........................................
Nous vous remercions !
..........................................
Nous soutenir ?
Mini sondage
Que cherchez vous sur CsN :










Résultats

En ligne
22 Visiteurs, 0 Membre, 0 Modérateur, 0 Administrateur En ligne.

unknow_bot
Total : 22
Les opérations avec $Sql
 



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 :
Code PHP :
$result = mysql_query('SELECT * WHERE id=1');

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.


methode query



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) :
Code PHP :
$nbr_msg_before = $Sql->query("SELECT COUNT(*) as nbr_msg_before FROM " . PREFIX . "forum_msg WHERE idtopic = " . $id_get . " AND id < '" . $idm . "'", __LINE__, __FILE__);

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.


methode query_while



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) :
Code PHP :
$result = $Sql->query_while("SELECT id, name 
FROM " . PREFIX . "group", __LINE__, __FILE__);

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.


methode query_array



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) :
Code PHP :
		$row = $Sql->query_array(DB_TABLE_MEMBER, 'user_lang', 'user_theme', 'user_mail', 'user_local', 'user_web', 'user_occupation', 'user_hobbies', 'user_avatar', 'user_show_mail', 'user_editor', 'user_timezone', 'user_sex', 'user_born', 'user_sign', 'user_desc', 'user_msn', 'user_yahoo', 'user_show_mp', 'user_notif_mail', "WHERE user_id = '" . $User->get_attribute('user_id') . "'", __LINE__, __FILE__);

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 ;


methode query_close



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)
Code PHP :
$Sql->query_close($result);

Dans ce cas là on libere la memoire de $result passé ligne 282
Code PHP :
$result = $Sql->query_while("SELECT ....



methode fetch_assoc



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) :
Code PHP :
while ($row = $Sql->fetch_assoc($result))

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.

 
Cette page a été vue 261 fois   |   Dernières modifications par : saturnin