Probleme de conception
pontarose
Messages postés
151
Statut
Membre
-
pontarose Messages postés 151 Statut Membre -
pontarose Messages postés 151 Statut Membre -
Bonjour,
j'ai un gros souci.
Je suis dans un formulaire et l'utilisateur doit entrer des données puis cliquer sur submit.
Dans une boucle j'ai fait en sorte que
pour un objet O et pour x elements de ce objet O je récupère la valeurs des champs A et B
for($i; $i<=xelemnt; $i++)
{
element 1
je récupère la valeur des champ A et B
element 2
je récupère la valeur des champs A et B
}
Mais je ne dois jamais avoir de redondance c'est à dire que la valeur des champs A et B pour x elemnts de mon objet O doivent être tous différents (les champs A et B de l'element 1 doivent être différents des champs A et b de l'element 2 et ainsi de suite).
voilà comment faire pour comparer ces éléments? On peut me guider.
Je suis en php
j'ai un gros souci.
Je suis dans un formulaire et l'utilisateur doit entrer des données puis cliquer sur submit.
Dans une boucle j'ai fait en sorte que
pour un objet O et pour x elements de ce objet O je récupère la valeurs des champs A et B
for($i; $i<=xelemnt; $i++)
{
element 1
je récupère la valeur des champ A et B
element 2
je récupère la valeur des champs A et B
}
Mais je ne dois jamais avoir de redondance c'est à dire que la valeur des champs A et B pour x elemnts de mon objet O doivent être tous différents (les champs A et B de l'element 1 doivent être différents des champs A et b de l'element 2 et ainsi de suite).
voilà comment faire pour comparer ces éléments? On peut me guider.
Je suis en php
A voir également:
- Probleme de conception
- Logiciel de conception gratuit - Guide
- Logiciel conception maison - Guide
- Sweet Home 3D - Télécharger - Architecture & Déco
- Conception de cuisine en ligne ✓ - Forum Réseaux sociaux
- Logiciel conception parking gratuit - Forum Logiciels
4 réponses
Pseudo algo :
pour i entre 0 et max : | Ai = valeur du champs A de element i | Bi = valeur du champs b de element i | pour j entre i+1 et max : | | Aj = valeur du champs A de element j | | Bj = valeur du champs B de element j | | si (Ai == Aj et Bi == Bj) | | | j est doublon de i : on sort! | | fin si | fin pour j fin pour i
Bonjoour,
merci de ton aide.
Le problème est que lorsque j'ai trois protéine (cf l'exemple) j'obtiens 3 fois le messages :PBE: les champs nom et alias sont identiques.
alors que j'aimerais l'avoir qu'une seule fois.
Je ne vois pas comment insérer un last
* P1 nom=NENE alias=HREF
* P2 nom=ESSAI alias=HREF
* P3 nom=TOTO alias=HREF
<?php
for($i=;$i<=$nombre_proteine=;$i++)
{
$nomi=$_POST['nom'.$i];
$aliasi=$_POST[''.$i];
for($j=;$j<=$nombre_proteine;$j++)
{
$nomj=$_POST['nom'.$j];
$aliasj=$_POST['alias'.$j];
if((nomi==nomj)&&(aliasi==aliasj))
{
print("PBE: les champs nom et alias sont identiques<br>");
}
}
}
?>
merci de ton aide.
Le problème est que lorsque j'ai trois protéine (cf l'exemple) j'obtiens 3 fois le messages :PBE: les champs nom et alias sont identiques.
alors que j'aimerais l'avoir qu'une seule fois.
Je ne vois pas comment insérer un last
* P1 nom=NENE alias=HREF
* P2 nom=ESSAI alias=HREF
* P3 nom=TOTO alias=HREF
<?php
for($i=;$i<=$nombre_proteine=;$i++)
{
$nomi=$_POST['nom'.$i];
$aliasi=$_POST[''.$i];
for($j=;$j<=$nombre_proteine;$j++)
{
$nomj=$_POST['nom'.$j];
$aliasj=$_POST['alias'.$j];
if((nomi==nomj)&&(aliasi==aliasj))
{
print("PBE: les champs nom et alias sont identiques<br>");
}
}
}
?>
bonjour,
je suis vraiment bloqué et je ne sais plus quoi faire ppour m'en sortir.
Je vais mieux expliquer;
Je suis dans un formulaire
page 1 j'entre le nom de ma protéine et le nombre de sous unité qu'elle possède
puis je click sur submit
page 2
je récupère via post ces deus varibles
en fonction du nombre de sous unité que j'ai tapé j'obtiens une page de ce type (exemple içi le nombre de sous unité est de 3)
PROTEINE:HREF
NBRE SOUS-UNITE:3
sous unité1:
nom:
alias:
sous unité2:
nom:
alias:
sous unité2:
nom:
alias:
ces champs sont a remplir
l'alias doit respecté une syntaxe preécise que je définie via les expressions régulière.
Je fais différents test pour vérifier que ces champs sont bien remplis.
Pour une protéine donnée on ne peux pas entrer deux fois la même sous-unité possédant le même nom et la même alias, faut que le nom soit différent et que l'alias soit différent aussi.(en fait je dois faire en sorte que le nom des différentes sous-unités que j'ai entré soient différentes entre elles et que les alias aussi).
par exemple je ne PEUX PAS avoir CELA
PROTEINE:HREF
NBRE SOUS-UNITE:3
sous unité1:
nom:AA
alias:HAV003C
sous unité2:
nom:BB
alias:HAV113W
sous unité2:
nom:CC
alias:HAV113W
Mon script fonctionnerait seulement pour 1 et 3 sous-unité.
<?php
//recup des valeurs postees
$proteine_name=$_POST['proteine_name'];
$nombre_sousunite=$_POST['nombre_sousunite'];
?>
<?php
for($i=;$i<=$nombre_sousunite=;$i++)
{
$nomi=$_POST['nom'.$i];
$aliasi=$_POST['alias'.$i];
$valid="/^([h])([a-v])([0-9]){3}(w|c)$/i";
if($nom=="" || $alias=="")
{
print("entrez les champs");
exit;
}
if(!empty($nomi) && !empty($aliasi))
{
if (preg_match($valid,$alias))
{
$affichage_botonsave++;
for($j=;$j<=$nombre_sousunite=;$j++)
{
$nomj=$_POST['nom'.$j];
$aliasj=$_POST['alias'.$j];
if((nomi==nomj) )
{
print("vous avez entré plusieurs fois la sous unité $nomi<br>");
}
else
{
if(aliasi==aliasj)
{
print("vous avez entré plusieurs fois l'alias $alias<br>");
}
}
}
//je reaffiche le formulaire avec les valeurs tapés
else
{
print("le champ alias ne respecte pas la nomenclature officiel<br>");
//je reaffiche le formulaire avec les valeurs tapés
}
}
}
if($affichage_botonsave>=1)
{
//affichage du bouton submit
}
>
?>
je suis vraiment bloqué et je ne sais plus quoi faire ppour m'en sortir.
Je vais mieux expliquer;
Je suis dans un formulaire
page 1 j'entre le nom de ma protéine et le nombre de sous unité qu'elle possède
puis je click sur submit
page 2
je récupère via post ces deus varibles
en fonction du nombre de sous unité que j'ai tapé j'obtiens une page de ce type (exemple içi le nombre de sous unité est de 3)
PROTEINE:HREF
NBRE SOUS-UNITE:3
sous unité1:
nom:
alias:
sous unité2:
nom:
alias:
sous unité2:
nom:
alias:
ces champs sont a remplir
l'alias doit respecté une syntaxe preécise que je définie via les expressions régulière.
Je fais différents test pour vérifier que ces champs sont bien remplis.
Pour une protéine donnée on ne peux pas entrer deux fois la même sous-unité possédant le même nom et la même alias, faut que le nom soit différent et que l'alias soit différent aussi.(en fait je dois faire en sorte que le nom des différentes sous-unités que j'ai entré soient différentes entre elles et que les alias aussi).
par exemple je ne PEUX PAS avoir CELA
PROTEINE:HREF
NBRE SOUS-UNITE:3
sous unité1:
nom:AA
alias:HAV003C
sous unité2:
nom:BB
alias:HAV113W
sous unité2:
nom:CC
alias:HAV113W
Mon script fonctionnerait seulement pour 1 et 3 sous-unité.
<?php
//recup des valeurs postees
$proteine_name=$_POST['proteine_name'];
$nombre_sousunite=$_POST['nombre_sousunite'];
?>
<?php
for($i=;$i<=$nombre_sousunite=;$i++)
{
$nomi=$_POST['nom'.$i];
$aliasi=$_POST['alias'.$i];
$valid="/^([h])([a-v])([0-9]){3}(w|c)$/i";
if($nom=="" || $alias=="")
{
print("entrez les champs");
exit;
}
if(!empty($nomi) && !empty($aliasi))
{
if (preg_match($valid,$alias))
{
$affichage_botonsave++;
for($j=;$j<=$nombre_sousunite=;$j++)
{
$nomj=$_POST['nom'.$j];
$aliasj=$_POST['alias'.$j];
if((nomi==nomj) )
{
print("vous avez entré plusieurs fois la sous unité $nomi<br>");
}
else
{
if(aliasi==aliasj)
{
print("vous avez entré plusieurs fois l'alias $alias<br>");
}
}
}
//je reaffiche le formulaire avec les valeurs tapés
else
{
print("le champ alias ne respecte pas la nomenclature officiel<br>");
//je reaffiche le formulaire avec les valeurs tapés
}
}
}
if($affichage_botonsave>=1)
{
//affichage du bouton submit
}
>
?>