Comment transformer ce code en une fonction [Résolu]

Signaler
Messages postés
25
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
11 décembre 2007
-
Messages postés
25
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
11 décembre 2007
-
bonjour à tous j'ai fait une petite application apparament mes requetes se ressemblent elles changent justes sur le critères de selection et sur les clauses ça fait beaucoup de page pr rien  j'aimerai les tranformes en fonction voici un exemple
<?php
require("definitions.php");



$connect= mysql_connect(SERVEUR, NOM, PASS)
 or die('Connexion impossible : ' . mysql_error());
$query=mysql_query("USE ".BASE);



$critere = $_POST['liste'];
$query = "select enseignant.* from
classe,enseignant,comprendre
where enseignant.matriculenseig = comprendre.matriculenseig
and classe.codeclasse=comprendre.codeclasse
and classe.codeclasse="$critere"";



$result = mysql_query($query);
if ($result) {
echo ' voici les enseignants de la classe recherchés
';
echo ''

 .'----
'
.' matriculenseig |nomenseig |prenomenseig |adressenseig |nommatiere |';
while ($ligne = mysql_fetch_array($result)){
echo '----
'
     .''.$ligne['matriculenseig'].', '
     .''.$ligne['nomenseig'].', '
     .''.$ligne['prenomenseig'].', '
     .''.$ligne['adressenseig'].', '
     .''.$ligne['nommatiere'].', ';
       echo '';
}
echo '
';
mysql_free_result ($result);
}
else
{
echo "impossible d'executer la requête de la selection!";
}
mysql_close();
?>



je n'arrive pas à transfomer ce code en fonction de tel sorte que la fonction s'applique aux restes
merci de m'aider

8 réponses

Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Salut,
<?php
require_once('definitions.php');
$connect = mysql_connect(SERVEUR, NOM, PASS) or die('Connexion impossible : '.mysql_error());
$query = mysql_query('USE '.BASE);

// Fonction
function fonctiongreg($critere) {    $result mysql_query('select enseignant.* from classe,enseignant,comprendre where enseignant.matriculenseig comprendre.matriculenseig AND classe.codeclasse=comprendre.codeclasse AND classe.codeclasse="'.$critere.'"');
    if (isset($result)) {
        $return = ' voici les enseignants de la classe recherchés

                            ----

                    matriculenseig |nomenseig |prenomenseig |adressenseig |nommatiere |';
        while ($ligne = mysql_fetch_array($result))
            $return .= '----

                '.$ligne['matriculenseig'].',
                '.$ligne['nomenseig'].',
                '.$ligne['prenomenseig'].',
                '.$ligne['adressenseig'].',
                '.$ligne['nommatiere'].',
            ';
        $return .= '
';
        mysql_free_result ($result);
    }
    else $return = 'impossible d\'executer la requête de la selection !';
    return $return;
}
// Vérification de la varibale et appelle de la fonction
if (isset($_POST['liste'])) echo greg($_POST['liste']);

mysql_close();
?>

For every choice, a consequence (Fable)
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Désolé pour le flood, j'ai fais une erreur : ce n'est pas echo greg($_POST['liste']); mais echo fonctiongreg($_POST['liste']); et en passant n'utilises pas "*" dans tes requetes MySQL c'est long ... indiques plutôt tous les champs de ta table.

For every choice, a consequence (Fable)
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

<?php

function fonctiongreg($select,$from,$where) {
    $result = mysql_query('SELECT '.$select.' FROM '.$from.' WHERE '.$where);
    if (isset($result)) {
        $return = ' voici les enseignants de la classe recherchés

                            ----
';
        $from = explode(',',$from);
  $i = 0;
  while (isset($from[$i])) {
   $return .= ' '.$from[$i].' |';
   $i++;
  }
        while ($ligne = mysql_fetch_row($result)) {
            $return .= '----
';
   $j = 0;
   while ($j !== $i) {
                $return .= ''.$ligne[$j].', ';
    $j++;
   }
            $return .= '';
  }
        $return .= '
';
        mysql_free_result($result);
    }
    else $return = 'Impossible d\'executer la requête de la selection !';
    return $return;
}
if (isset($_POST['liste'])) echo fonctiongreg('enseignant.*','classe,enseignant,comprendre','enseignant.matriculenseig = comprendre.matriculenseig AND classe.codeclasse=comprendre.codeclasse AND classe.codeclasse="'.$_POST['liste'].'"'); // C'est pas bien l'utilisation de * :-P

?>



For every choice, a consequence (Fable)
Messages postés
25
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
11 décembre 2007

merci  de m'avoir aider pour le nom de la fonction je l'ai aussi aperçu pas de pb
Messages postés
25
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
11 décembre 2007

merci  beaucoup pour l'aide. à present si je veux faire une fontion qui m'affiche differents requete comment faire ?
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Différentes requêtes ? c'est à dire ? Quelles requêtes veux tu transformer en fonction ?

For every choice, a consequence (Fable)
Messages postés
25
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
11 décembre 2007

c'est vraie que je ne suis pas assez claire je veux dire pas là une fontion qui me permet d'afficher d'autres informations en changeant  la clause d'affichachage en changeant aussi ce que je veux afficher. est ce qu'on peut faire une tel fontion? 
mille fois merci pour ton aide 
Messages postés
25
Date d'inscription
mercredi 7 juin 2006
Statut
Membre
Dernière intervention
11 décembre 2007

thank you very much