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

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

Merci d'avance !

Philippe
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
131
Date d'inscription
mardi 21 septembre 2004
Dernière intervention
23 septembre 2011
- 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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_zatt
Messages postés
898
Date d'inscription
jeudi 6 juin 2002
Dernière intervention
26 juillet 2007
- 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.