A voir également:
- Data truncated for column at row 1
- App data - Guide
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Windows data recovery - Télécharger - Récupération de données
- World at arms - Télécharger - Rôle RPG
- Instagram for pc - Télécharger - Divers Communication
8 réponses
Bonjour
Si le code que tu donnes est dans du javascript, le + semble correct
La problème se situe probablement au niveau du traitement du formulaire, il faudrait voir le code pour vérifier comment tu récupères les valeurs de Actif[1], Actif[2] etc.. et comment tu les insères dans la base
Au passage il n'y a absolument aucune obligation d'utiliser un type énuméré pour des boutons radios. Surtout quand ils ne peuvent prendre que 2 valeurs ! Mais là n'est pas le problème
Si le code que tu donnes est dans du javascript, le + semble correct
La problème se situe probablement au niveau du traitement du formulaire, il faudrait voir le code pour vérifier comment tu récupères les valeurs de Actif[1], Actif[2] etc.. et comment tu les insères dans la base
Au passage il n'y a absolument aucune obligation d'utiliser un type énuméré pour des boutons radios. Surtout quand ils ne peuvent prendre que 2 valeurs ! Mais là n'est pas le problème
Bonjour,
Le code est en effet dans du javascript car il fait partie d'une fonction qui ajoute des lignes (avec ces radios boutons à l'intérieur). Les radio boutons du même nom (Actif) qui ne font pas partie de la fonction javascript (car ils sont sur la 1ere ligne originale du tableau) sont correctement transmis dans la BDD.
Sinon que me conseille tu comme type pour les radio boutons?
Le code est en effet dans du javascript car il fait partie d'une fonction qui ajoute des lignes (avec ces radios boutons à l'intérieur). Les radio boutons du même nom (Actif) qui ne font pas partie de la fonction javascript (car ils sont sur la 1ere ligne originale du tableau) sont correctement transmis dans la BDD.
Sinon que me conseille tu comme type pour les radio boutons?
Sinon que me conseille tu comme type pour les radio boutons? Je ne te conseille rien, à toi de voir ce qui t'arrange. C'est à toi de te faire ton avis. Il ne faut surtout pas que tu utilises un type plutôt qu'un autre seulement parce que tu as lu que c'était mieux. Il faut que tu choisisses parce que tu as compris qu'un type offrait un avantage. Et à mon avis, dans ton cas, une valeur 0/1 fait l'affaire même si l'énuméré ('Oui','Non') fait plus propre (encore que trop particulier au français)
$Actif = isset($_POST['Actif'])?$_POST['Actif']:"Oui"; . Ça a l'air d'une bonne idée, si tu veux une valeur 'Oui' par défaut. Le seul problème, c'est que ton champ s'appelle Actif[0], Actif[1] etc... et pas seulement Actif !
$Actif = isset($_POST['Actif'])?$_POST['Actif']:"Oui"; . Ça a l'air d'une bonne idée, si tu veux une valeur 'Oui' par défaut. Le seul problème, c'est que ton champ s'appelle Actif[0], Actif[1] etc... et pas seulement Actif !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Au lieu de $Actif = isset($_POST['Actif'])?$_POST['Actif']:"Oui"; j'ai essayé de mettre $Actif = isset($_POST['Actif'[numero]])?$_POST['Actif'[numero]]:"Oui"; ou quelque chose de ce genre mais ca ne donne rien.
j'ai également remarqué lorsque j'affiche la valeur de mes autres champs j'obtiens "Array"... du coup je me dis que la création de la nouvelle ligne n'est pas bonne?
(la voici:)
<script language="javascript">
var numero=0;
function AddRow0(){
numero++;
var newRow = document.getElementById('tablecontrat').insertRow(-1);
var newCell = newRow.insertCell(0);
newCell.align = 'center';
newCell.innerHTML = '<input type="text" name="NumContrat"['+numero+']" id="NumContrat"['+numero+']" size="10">';
var newCell = newRow.insertCell(1);
newCell.align = 'center';
newCell.innerHTML = '<SELECT NAME="NomTypeContrat['+numero+']" id="NomTypeContrat['+numero+']"><option value="Hotline + Maj Soft">Hotline + Maj Soft</option><option value="Echange Standard">Echange Standard</option></SELECT>';
var newCell = newRow.insertCell(2);
newCell.align = 'center';
newCell.innerHTML = '<INPUT TYPE="radio" name="Actif['+numero+']" id="Actif['+numero+']" value="Oui" checked>Oui<INPUT TYPE="radio" name="Actif['+numero+']" id="Actif['+numero+']" value="Non">Non';
}
:(
j'ai également remarqué lorsque j'affiche la valeur de mes autres champs j'obtiens "Array"... du coup je me dis que la création de la nouvelle ligne n'est pas bonne?
(la voici:)
<script language="javascript">
var numero=0;
function AddRow0(){
numero++;
var newRow = document.getElementById('tablecontrat').insertRow(-1);
var newCell = newRow.insertCell(0);
newCell.align = 'center';
newCell.innerHTML = '<input type="text" name="NumContrat"['+numero+']" id="NumContrat"['+numero+']" size="10">';
var newCell = newRow.insertCell(1);
newCell.align = 'center';
newCell.innerHTML = '<SELECT NAME="NomTypeContrat['+numero+']" id="NomTypeContrat['+numero+']"><option value="Hotline + Maj Soft">Hotline + Maj Soft</option><option value="Echange Standard">Echange Standard</option></SELECT>';
var newCell = newRow.insertCell(2);
newCell.align = 'center';
newCell.innerHTML = '<INPUT TYPE="radio" name="Actif['+numero+']" id="Actif['+numero+']" value="Oui" checked>Oui<INPUT TYPE="radio" name="Actif['+numero+']" id="Actif['+numero+']" value="Non">Non';
}
:(
Si tu obtiens "Array", c'est que tes champs sont des tableaux, ce qui est bien le cas, il n'y a rien à redire de ce côté. Mais il ne faut pas enregistrer le tableau complet en une seule fois dans la base, tu dois avoir un insert pour chaque ligne que tu as créée avec AddRow
'Actif'[numero], ça ne veut rien dire
Tu aurais dû avoir :
$Actif = isset($_POST['Actif'][$numero])?$_POST['Actif'][$numero]:"Oui";
explication
$_POST est un tableau associatif . Tu t'intéresse à l'élément Actif -> $_POST['Actif']
$_POST['Actif'] est lui même un tableau ; pour accéder à son élement $numéro tu ajoutes l'indice [$numero] -> $_POST['Actif'][$numero]
'Actif'[numero], ça ne veut rien dire
Tu aurais dû avoir :
$Actif = isset($_POST['Actif'][$numero])?$_POST['Actif'][$numero]:"Oui";
explication
$_POST est un tableau associatif . Tu t'intéresse à l'élément Actif -> $_POST['Actif']
$_POST['Actif'] est lui même un tableau ; pour accéder à son élement $numéro tu ajoutes l'indice [$numero] -> $_POST['Actif'][$numero]