begin process at 2012 05 28 11:54:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

A l'aide (assez urgent !!)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

A l'aide (assez urgent !!)

samedi 28 janvier 2006 à 12:01:11 | A l'aide (assez urgent !!)

slhuilli

bonjour,

je suis a la recherche d'une fonction (php4, pas de php5 objet) ou systeme permettant (comme le permet une fonction) d'ajouter rapidement dans une base de donées des elements. Je me heurte actuellement au fait que le nombre de parametre de la fonction deja écrite est variable. En effet je peux avoir des table a 1,2,3, 5, 10 champs. Or une fonction ne prend en compte qu'un nombre fixe de parametre. Passer par un objet est peut etre une idée mais la notion d'objet, j'ai du mal a maitriser. Je sais utiliser des modeles d'objet et les instancier mais je ne sais pas écrire les outils pour utiliser les objets. Bien sur l'utilité de ceci reside dans le fait d'utiliser ce "système" quelque soit la table, le nombre de champs de la table, le type de données.... Il faudrait un système le + générique possible.

par exemple,

function AJOUTER(nomTable,values....)
{

}
Or vous comprenez bien que values peut être au nom de 1,2,10 ou n champs

si quelqu'un a une solution à ce probleme que j'essaie de résoudre depuis maintenant quelques semaines....
Ma seule solution a été celle ci mais elle ne me convient pas . Voici du point de vue algorithmique ce que j'ai fait:

Debut
    MonTabChamps[1] <= nom_du_champ1
    MonTabChamps[2] <= nom_du_champs2
    NomTabVal[1] <= valeur_a_affecter_dans_case_1_du_tableau
    NomTabVal[2] <= valeur_a_affecter_dans_case_2_du_tableau
    $res <= insertion(MonTabChamp,NomTabVal)
Fin
   
ce qui suppose d'écrire a chaque fois :

    MonTabChamps[1] <= nom_du_champ1
    MonTabChamps[2] <= nom_du_champs2
    NomTabVal[1] <= valeur_a_affecter_dans_case_1_du_tableau
    NomTabVal[2] <= valeur_a_affecter_dans_case_2_du_tableau


Bien sûr ca devient urgent car j'attaque un projet professionnel lundi évidemment.... Si vous avez des idées, des classes, ......

Merci a la communauté d'avance

seb
samedi 28 janvier 2006 à 12:02:48 | Re : A l'aide (assez urgent !!)

slhuilli

j'ai fait une faute de frappe qui est génante dans le message :

à la place de

Or vous comprenez bien que values peut être au nom de 1,2,10 ou n champs

lire

Or vous comprenez bien que values peut être au nombre de 1,2,10 ou n champs
samedi 28 janvier 2006 à 12:05:48 | Re : A l'aide (assez urgent !!)

malik7934

Réponse acceptée !
ben t'as qu'à passer un array!!!

*****
THINK
-> SEEK -> ASK

samedi 28 janvier 2006 à 12:08:08 | Re : A l'aide (assez urgent !!)

slhuilli

Réponse acceptée !
oui mais un array faut le déclarer avant non ? t ca serait possible de le rendre generique ?
samedi 28 janvier 2006 à 12:12:22 | Re : A l'aide (assez urgent !!)

malik7934

$truc = news array();

et ensuite, chaque fois que t'as un nouveau paramètre à ajouter: $truc[] = $param;

comme ça t'as pas besoin de déclarer la taille et ensuite t'utilise count($truc) ou qqch du genre dans ta fonction pour connaître le nb de paramètres.

*****
THINK
-> SEEK -> ASK

samedi 28 janvier 2006 à 12:30:01 | Re : A l'aide (assez urgent !!)

FhX

"Or une fonction ne prend en compte qu'un nombre fixe de parametre."
Faux...
func_get_arg();
func_get_args();
get_num_args();

http://fr3.php.net/manual/fr/function.func-get-arg.php


Regarde mon code d'abastraction de BDD, y'a une méthode qui s'appèle prepare() et qui exploitent ce que tu veux faire.

Voila.
samedi 28 janvier 2006 à 12:36:10 | Re : A l'aide (assez urgent !!)

slhuilli

Réponse acceptée !
bien vu ton truc, je connaissait pas.E ffectivement, PHP ne répondant pas du tout aux normes de programmation (sachant qu'une fonction doit prendre un nonmbre fixe de parametres, au sens algorithmique du terme), j'étais loin d'imaginer cela. Ca va m'ouvrir beaucoup de portes ca.... Merci bcp du tuyeau
samedi 28 janvier 2006 à 12:40:17 | Re : A l'aide (assez urgent !!)

FhX

Réponse acceptée !
Ah non... une fonction a deux types de possibilités :

fonction statique, qui utilise qu'un nombre fixe d'arguments.
fonction dynamique, qui utilise un nombre d'arguments variables.

C'est pas nouveau, ca date depuis un moment ca :)
samedi 28 janvier 2006 à 12:54:25 | Re : A l'aide (assez urgent !!)

slhuilli

Réponse acceptée !
FhX, je m'en suis jamais servi (ni en VB, ni en delphi). Peux tu me donner un exemple de code PHP simple où tu passe dans une fonction dynamique des parametres au nombre variabmle ? juste pour savoir comment ca s'écrit.
si j'écris

function essai(param1,param2, param3)
{
    if param3==0
    {
       echo"rien";
    }
else
{
    essai = param1*param2;
}
}
comment ca marche si je veux passer au niveau d e l'appel de la fonction que 2 parametres ?
samedi 28 janvier 2006 à 13:03:38 | Re : A l'aide (assez urgent !!)

FhX

Réponse acceptée !
// Fonction qui renvoit le nombre d'arguments passés par la fonction.
function test() {
 $num_args = get_num_args();
 return $num_args;
}


$x = test(1,2,3,4,5,6,7,8);
echo $x;
// Affichera 8 :)


Pour pouvoir afficher les arguments ?

function test() {
 $num_args = get_num_args();
  for ( $i = 0; $i < $num_args; $i++ ) {
         $arg = func_get_arg($i);
         echo $arg.'<br />';
  }
}

test(1,2,3,4,5,6,7,8);
// Affichera :
// 1
// 2
// 3
// 4
// 5
// etc...

Et voila :)


1 2

Cette discussion est classée dans : fonction, urgent, objet, montabchamps, nomtabval


Répondre à ce message

Sujets en rapport avec ce message

fonction random urgent!!!! [ par chrys76 ] CHRYShelpquelqu'un aurait une solution pour utiliser la fonction random qui cherche un nombre aléatoire. Moi j'ai random(1000) mais php ne le prend pa pb avec la poo5 [ par windu ] Voila mon problème:Je crée un objet qui manipule (entre autres) des tableaux.... jusque là tout va bien!La où je coince, c'est que cet objet est appel Pb URGENT: pb tt bete dc répondez vite svp!! [ par joduak ] Bonsoir, Voilà, j'ai un tableau indicé (genre: $tableau[$i]) qui contient des horaires (genre 09:30:00) et je voudrais sortir de ce tableau l'horaire Appel d'un fonction à telle date [ par picolo220 ] Bonjour, je suis actuellement en train de coder une sorte de site de vente aux enchères, mais je me heurte au problème suivant.Comment changer automat Objet et Connexion [ par Profite ] Bonsoir,Je débute en PHP 5 et j'ai des problèmes de compréhension.Après mes recherches, j'ai crée une classe Connexion et une Classa Annimal.Pour test URGENT! [ par tatofr ] Salut a tous!!Voici mon problemeJ'ai dans ma base de données un champs texte, et dans certains enregistrements il y a des caracteres " ' \\ (guillemet URGENT!! addslashes [ par tatofr ] Salut a tous!!Dans ma bd j'ai des enregistrements qui contienent des guillemets "" et quand je recupere ces enregistrements a partir d'une requette SQ programmation objet et mysql en php [ par Assag ] Salut,je m'aprête à réécrire un gros site php en version objet. Mais on m'a dit que la prog. objet posait des problèmes avec MySQL, en gros, que les r fonction php pour inserer mots avec caractères dans bdd [ par nunor ] bonjour, Quand j' insere les mots - chambres d'enfants - canapé convertible quelles sont les fonctions que l'on utilise pour les inserer dans BDDonnée sauvegarde de fichier et appel de fonction [ par zarbiman ] Salut à tous, je dois générer un fichier (word et/ou excel), et j'ai deux problemes:1) j'aimerais pouvoir afficher une fenetre pour permettre à l'util


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,415 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales