Empty
Résolu/Fermé
ferraioli
Messages postés
11
Date d'inscription
jeudi 3 février 2011
Statut
Membre
Dernière intervention
10 juin 2015
-
Modifié par jordane45 le 9/06/2015 à 11:27
ferraioli Messages postés 11 Date d'inscription jeudi 3 février 2011 Statut Membre Dernière intervention 10 juin 2015 - 10 juin 2015 à 16:36
ferraioli Messages postés 11 Date d'inscription jeudi 3 février 2011 Statut Membre Dernière intervention 10 juin 2015 - 10 juin 2015 à 16:36
A voir également:
- Empty
- Remove empty directories - Télécharger - Nettoyage
- Empty te - Télécharger - Nettoyage
- Empty dns cache - Guide
- Asus bios boot priority empty - Forum logiciel systeme
- Database empty ✓ - Forum TV & Vidéo
3 réponses
blackduck
Messages postés
817
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
96
9 juin 2015 à 11:01
9 juin 2015 à 11:01
Salut salut,
Je ne vois pas ta partie html avec ton formulaire et tes champs input.
Quelque chose comme ça doit fonctionner :
Je ne vois pas ta partie html avec ton formulaire et tes champs input.
Quelque chose comme ça doit fonctionner :
<form name="form" action="#" method="post"> <input type="text" name="text1" value="id"/><select name="choix" id="select" value="choix"><option selected>select</option><option>val1</option><option>val2</option></select><br> <input type="submit" name="valider" value="valider"/> </form> <?php if(isset($_POST["valider"])){ echo "<pre>"; var_dump($_POST); echo "</pre>"; if($_POST["text1"]=="id"){ echo "id inchange<br>"; }else{ echo "id change<br>"; } if($_POST["choix"]=="select"){ echo "choix inchange"; }else{ echo "choix change<br>"; } }
jordane45
Messages postés
38301
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2024
4 704
Modifié par jordane45 le 9/06/2015 à 15:12
Modifié par jordane45 le 9/06/2015 à 15:12
Bonjour,
Ceci devrait peut-être te convenir :
Cordialement,
Jordane
Ceci devrait peut-être te convenir :
$arr_spell = array(); if(!empty($monster['spell1'])){ $arr_spell[] = $monster['spell1'].'@'.$_POST['select1'] ; } if(!empty($monster['spell2'])){ $arr_spell[] = $monster['spell2'].'@'.$_POST['select2'] ; } if(!empty($monster['spell3'])){ $arr_spell[] = $monster['spell3'].'@'.$_POST['select3'] ; } if(!empty($monster['spell4'])){ $arr_spell[] = $monster['spell4'].'@'.$_POST['select4'] ; } if(!empty($monster['spell5'])){ $arr_spell[] = $monster['spell5'].'@'.$_POST['select5'] ; } $spell = implode(";",$arr_spell);
Cordialement,
Jordane
ferraioli
Messages postés
11
Date d'inscription
jeudi 3 février 2011
Statut
Membre
Dernière intervention
10 juin 2015
9 juin 2015 à 15:06
9 juin 2015 à 15:06
Merci beaucoup, ça marche parfaitement ! Si tu peut m'expliquer comment cela fonctionne, ça serai bien sinon pas grave :)
Cordialement
Cordialement
jordane45
Messages postés
38301
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2024
4 704
9 juin 2015 à 15:12
9 juin 2015 à 15:12
Je teste chacune de tes variables ( si elle est vide ou non...)
Si elle n'est pas vide... je l'ajoute à un tableau ( un ARRAY )
Et pour finir ... je prends tous les éléments de l'array .. et je les transforme en string en utilisant le point-virgule comme séparateur.
Si elle n'est pas vide... je l'ajoute à un tableau ( un ARRAY )
Et pour finir ... je prends tous les éléments de l'array .. et je les transforme en string en utilisant le point-virgule comme séparateur.
ferraioli
Messages postés
11
Date d'inscription
jeudi 3 février 2011
Statut
Membre
Dernière intervention
10 juin 2015
Modifié par ferraioli le 9/06/2015 à 15:50
Modifié par ferraioli le 9/06/2015 à 15:50
D'accord merci, je voudrais faire en sorte aussi que si le champ input est vide on prend en considération le select à la place.. donc j'ai rajouter un else a tes if
else { $arr_spell[] = $_POST['selects1'].'@'.$_POST['select1'] }
Mais si j'oublie les inputs et les selects cela va prendre en cosidération le select de valeur " " et va donc écrire juste @lvl
peux tu m'aider ?
cordialement
else { $arr_spell[] = $_POST['selects1'].'@'.$_POST['select1'] }
Mais si j'oublie les inputs et les selects cela va prendre en cosidération le select de valeur " " et va donc écrire juste @lvl
peux tu m'aider ?
cordialement
jordane45
Messages postés
38301
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2024
4 704
9 juin 2015 à 16:16
9 juin 2015 à 16:16
c'est ça que tu veux ?
Qu'on devrait pouvoir écrire via une fonction également comme ça :
$arr_spell = array(); if(!empty($monster['spell1'])){ $arr_spell[] = $monster['spell1'].'@'.$_POST['select1'] ; }elseif (!empty($_POST['select1'])){ $arr_spell[] = $_POST['select1']).'@'.$_POST['select1'] ; } if(!empty($monster['spell2'])){ $arr_spell[] = $monster['spell2'].'@'.$_POST['select2'] ; }elseif (!empty($_POST['select2'])){ $arr_spell[] = $_POST['select2']).'@'.$_POST['select2'] ; } //etc... $spell = implode(";",$arr_spell);
Qu'on devrait pouvoir écrire via une fonction également comme ça :
function getValue($spel=NULL,$select=NULL){ if(!empty($spel)){ $result = $spel.'@'.$select ; }elseif (!empty($select)){ $result = $select.'@'.$select ; }else { $result = false; } return $result } $arr_spell = array(); $value = getValue($monster['spell1'],$_POST['select1']; if($value){ $arr_spell[] = $value; } $value = getValue($monster['spell2'],$_POST['select2']; if($value){ $arr_spell[] = $value; } $value = getValue($monster['spell3'],$_POST['select3']; if($value){ $arr_spell[] = $value; } $value = getValue($monster['spell4'],$_POST['select4']; if($value){ $arr_spell[] = $value; } $value = getValue($monster['spell5'],$_POST['select5']; if($value){ $arr_spell[] = $value; } $spell = implode(";",$arr_spell);
Non ce n est pas tout a fait ça car si je met !empty donc si le champ select n est pas vide mais le probleme c est que les selects ne sont jamais vides car la valeur par default est " je veux en gros que si l input est vide on prend le select et que si les deux sonts vides on les ignores.. J ai mit une image dans le premier post peut être ca va t eclairé
Cordialement
Cordialement
jordane45
Messages postés
38301
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2024
4 704
>
Ferraiolis
9 juin 2015 à 16:52
9 juin 2015 à 16:52
je veux en gros que si l input est vide on prend le select et que si les deux sonts vides on les ignores..
....
mais le probleme c est que les selects ne sont jamais vides car la valeur par default est "
Petite contradiction dans ton explication non ??
A la limite... tu testes si l'input est EMPTY ou non .. et pour le select .. tu regardes si il vaut la valeur par défaut ou non... tout simplement.
function getValue($spel=NULL,$select=NULL,$valeurpardefaut=''){ if(!empty($spel)){ $result = $spel.'@'.$select ; }elseif($select!=$valeurpardefaut){ $result = $select.'@'.$select ; }else { $result = false; } return $result }
ferraioli
Messages postés
11
Date d'inscription
jeudi 3 février 2011
Statut
Membre
Dernière intervention
10 juin 2015
Modifié par ferraioli le 10/06/2015 à 16:37
Modifié par ferraioli le 10/06/2015 à 16:37
Oui j'avoue je me suis mal exprimé désolé et j'aurais du y arriver seul.. c'était débile en fait..
Encore merci en tout ça pour ton aide
Je te souhaite une bonne journée
Cordialement
Encore merci en tout ça pour ton aide
Je te souhaite une bonne journée
Cordialement
9 juin 2015 à 15:07
Cordialement