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 :

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 &agrave; la base MySQL</h1>');
	@mysql_select_db($mysql_database) or die('<h1>Erreur lors de la s&eacute;lection de la base de donn&eacute;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&ecirc;te invalide : '.mysql_error().'</li><li>Requ&ecirc;te compl&egrave;te : '.$query.'</li></ul>');
	$nb=mysql_num_rows($result);
	mysql_close();
	return($result);
}
?>
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
<?php
$query='SELECT `nom_forum` FROM `forum` WHERE `numero_forum`=1';
while($row=mysql_fetch_array(function_mysql($query);))
{
	echo $row['nom_forum'];
}
?>
Vous l'avez remarqué, ça n'est pas encore l'idéal
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 :

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];
?>
...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.
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