Fonction php dans fichier à part???

[Résolu]
Signaler
Messages postés
897
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
26 juillet 2007
-
Messages postés
897
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
26 juillet 2007
-
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

2 réponses

Messages postés
131
Date d'inscription
mardi 21 septembre 2004
Statut
Membre
Dernière intervention
23 septembre 2011

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
Messages postés
897
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
26 juillet 2007
2
Bonsoir,

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

Philippe