z980x
Messages postés897Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention26 juillet 2007
-
15 janv. 2007 à 20:10
z980x
Messages postés897Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention26 juillet 2007
-
15 janv. 2007 à 21:47
Bonjour à tous,
je suis en train de travailler sur un projet dans lequel je dois me connecter à une base de données pour récupérer des infos.
Pas de problème pour ca, mais un truc m'énerve, c'est que je dois à chaque fois que je veux faire une requete me reconnecter, et donc remettre adresse, login et pass.
J'aimerais savoir si c'est possible comme en java ou en c++ de faire un fichier annexe contenant une fonction à laquelle on peut passer des arguments et récupérer le résultat de la requete...
Un exemple:
Mon code actuel:
<?php
$db = mysql_connect('adresseserveur', 'login', 'pass');
mysql_select_db('nombase',$db);
$sql = 'SELECT DISTINCT * from eleve ORDER BY `nom_eleve`';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_assoc($req)){
echo "list1.options[list1.options.length] = ";
echo "new Option('".$data['nom_eleve']." ".$data['prenom_eleve']."','".$data['login_eleve']."');\r\n";
}
mysql_close();
?>
J'aimerais avoir une fonction à laquelle je passerais en paramètre ma requete SQL et qui me renverrait une variable pour que je puisse faire ma boucle :
while($data = mysql_fetch_assoc($req))
J'ai commencé le php vendredi, donc mes connaissances sont minimes... lol
cs_zatt
Messages postés131Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention23 septembre 2011 15 janv. 2007 à 21:30
Bjr, tu peux tout à fait externaliser tes fonctions, il te suffit de faire une inclusion de la feuille sur les pages qui les utilisent:
require ("maFeuilleFonctions.php"), ou include("maFeuilleFonctions.php")
ça devrait globalement donner quelque chose comme ça:
function ExecuterRequete($maRequete)
{
$db = mysql_connect('adresseserveur', 'login', 'pass');
mysql_select_db('nombase',$db);
$req = mysql_query($maRequete) or die('Erreur SQL !
'.$maRequete.'
'.mysql_error());
//Tu stockes les enregistrements dans un tableau à l'aide de la boucle
$array_result=array();
while($data = mysql_fetch_assoc($req))
{
$array_result[] = $data;
}
mysql_free_result ($result);
mysql_close();
// Et tu retournes le tableau
return $array_result;
}
l'appel dans la feuille:
$sql = 'SELECT DISTINCT * from eleve ORDER BY`nom_eleve`';
$mesEleves=array();
$mesEleves= ExecuterRequete($sql)
// et une énumération pour ajouter les enregistrements dans la liste
foreach($mesEleves as $cle=>$valeur)
{
echo "list1.options[list1.options.length] = ";
echo "new Option('".$valeur['nom_eleve']." ".$valeur['prenom_eleve']."','".$valeur['login_eleve']."');\r\n";
}
rq: tu px également utiliser une classe d'accès aux données, si tu es habitué à la POO