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