Fonction php dans fichier à part??? [Résolu]

z980x 898 Messages postés jeudi 6 juin 2002Date d'inscription 26 juillet 2007 Dernière intervention - 15 janv. 2007 à 20:10 - Dernière réponse : z980x 898 Messages postés jeudi 6 juin 2002Date d'inscription 26 juillet 2007 Dernière intervention
- 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

Merci d'avance !

Philippe
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_zatt 131 Messages postés mardi 21 septembre 2004Date d'inscription 23 septembre 2011 Dernière intervention - 15 janv. 2007 à 21:30
3
Merci
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

Merci cs_zatt 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de cs_zatt
z980x 898 Messages postés jeudi 6 juin 2002Date d'inscription 26 juillet 2007 Dernière intervention - 15 janv. 2007 à 21:47
0
Merci
Bonsoir,

merci beaucoup pour cette réponse, c'est parfait !

Philippe
Commenter la réponse de z980x

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.