Bonsoir tout le monde,
Je me suis apperçu en reproduisant fréquemment des lignes de codes identiques (souvent à l'aide de Ctrl+C, Ctrl+V) pour traiter des requêtes en notamment combien cela pouvait être répétitif et surtout lourd
Sans compter que ça complique drôlement la source de mes pages
Du coup, j'ai penséà utiliser une fonction qui, lorsqu'on l'appele, pourrait se charger de répéter un code assez classique. La voici :
Cependant, il reste encore à ajouter ceci (par exemple) pour l'appeler et faire fonctionner l'ensemble :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php function function_mysql($query) { $mysql_user='root'; $mysql_pass=''; $mysql_address='192.168.1.51'; $mysql_database='lisa'; @mysql_connect($mysql_address,$mysql_user,$mysql_pass) or die('<h1 class="error">Impossible de se connecter à la base MySQL</h1>'); @mysql_select_db($mysql_database) or die('<h1>Erreur lors de la sélection de la base de donnée <code>'.$mysql_database.'</code></h1>'); $result=mysql_query($query) or die('<h1 class="error">Erreur My<abbr title="Structured Query Language" lang="en">SQL</abbr></h1><ul><li>Requête invalide : '.mysql_error().'</li><li>Requête complète : '.$query.'</li></ul>'); $nb=mysql_num_rows($result); mysql_close(); return($result); } ?>
Vous l'avez remarqué, ça n'est pas encore l'idéal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php $query='SELECT `nom_forum` FROM `forum` WHERE `numero_forum`=1'; while($row=mysql_fetch_array(function_mysql($query);)) { echo $row['nom_forum']; } ?>![]()
A vrai dire, je n'ai pas réussi à structurer la fonction function_mysql(); de telle facon à ce qu'il ne reste plus qu'à récupérer les résultats via par exemple :
...Où [0] indiquerais la 1ère (et en l'occurrence unique) ligne retournée. Car en effet, il me semble que pour y arriver, une solution pourrait être de faire retourner un tableau par la fonction dont la structure ressemblerait à ça : $tableau['nom_d_un_champ']['numero_de_la_ligne'] pour qu'ainsi, il soit possible de savoir combien de lignes ont été retournées (car c'est parfois important à savoir), en tenant compte du fait que l'on ne puisse pas faire retourner deux valeurs via une fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php $tableau[]=function_mysql('SELECT `nom_forum` FROM `forum` WHERE `numero_forum`=1'); echo $tableau['nom_forum'][0]; ?>
De cette manière on évite de constamment rappeler while($row=mysql_fetch_array[...] outre l'appele à la fonction. Mais même si cela était fait, je ne vois pas bien comment en déduire que ['numero_de_la_ligne'] est égal à 8 par exemple.
Bon, j'espère que mon sujet est clair et qu'il ne noiera personne de questions![]()
En vous souhaitant une bonne soirée![]()
Partager