A voir également:
- Sql plusieurs valeurs dans un champ
- Logiciel sql - Télécharger - Bases de données
- Excel liste de valeurs - Guide
- Sql lister les tables ✓ - Forum Programmation
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif ci-dessous. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. il manque 5 valeurs dans le tableau ci-dessous. retrouvez-les dans votre tableau, puis reportez-les arrondies à l’entier le plus proche. ✓ - Forum Excel
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
2 réponses
Salut,
Une solution possible serait de sérialiser ton tableau pour le convertir en chaine de caractère.
A la récupération des données, tu pourras bien sûr dé-sérialiser cette chaine pour récupérer ton tableau.
http://php.net/manual/fr/function.serialize.php
https://www.php.net/manual/fr/function.unserialize.php
Bonne journée
Une solution possible serait de sérialiser ton tableau pour le convertir en chaine de caractère.
A la récupération des données, tu pourras bien sûr dé-sérialiser cette chaine pour récupérer ton tableau.
http://php.net/manual/fr/function.serialize.php
https://www.php.net/manual/fr/function.unserialize.php
Bonne journée
geekat
Messages postés
228
Date d'inscription
Statut
Membre
Dernière intervention
Merci Pitet. En fait j'ai des clés primaires, je ne sais pas si je peux les rassembler comme un tableau dans un seul champ
Pitet
Messages postés
2826
Date d'inscription
Statut
Membre
Dernière intervention
527
Je ne comprend pas ton problème, peux tu nous donner un peu plus de précision ? Un exemple de code ? Le résultat obtenu et le résultat attendu ?
Bonjour,
Voilà un exemple de code :
J'ai une table 'categorisation' qui contient :
- une clé primaire (id_categorisation),
- une clé étrangère (id_nationalite) qui est clé primaire d'une autre table 'nationalite'.
J'ai une table 'nationalite' qui contient :
- une clé primaire (id_nationalite),
- un champ simple (nationalite)
But :
Le but est d'insérer les nationalités ou plutôt les id_nationalite dans la table categorisation. Je peux avoir 1 ou plusieurs nationalités sélectionnées, j'aurais donc plusieurs entiers successif.
Désolée c'est un peu long. L'insertion dans ce cas doit avoir comme valeurs :
id _nationalite : 1 2 3 5 9....
Voilà un exemple de code :
Table categorisation :
id_categorisation INT PK
id_nationalite INT FK
Table nationalite:
id_nationalite INT PK
nationalite VARCHAR(50)
J'ai une table 'categorisation' qui contient :
- une clé primaire (id_categorisation),
- une clé étrangère (id_nationalite) qui est clé primaire d'une autre table 'nationalite'.
J'ai une table 'nationalite' qui contient :
- une clé primaire (id_nationalite),
- un champ simple (nationalite)
But :
Le but est d'insérer les nationalités ou plutôt les id_nationalite dans la table categorisation. Je peux avoir 1 ou plusieurs nationalités sélectionnées, j'aurais donc plusieurs entiers successif.
<form action="" method="post" ">
<select name="nationalite[] multiple">
<OPTION VALUE="">Nationalité</OPTION>
<?php
while ($donnees1 = $reponse1->fetch(PDO::FETCH_ASSOC))
{if ($donnees1["id_nationalite"]==$nationalite)
echo '<OPTION VALUE="'.$donnees1["id_nationalite"].'" selected="selected">'.$donnees1["nationalite"].'</OPTION>';
else
echo '<OPTION VALUE="'.$donnees1["id_nationalite"].'">'.$donnees1["nationalite"].'</OPTION>';
}'; ?>
</select>
<?php
$id_nationalite=($_POST['id_nationalite']));
$bdd->exec("INSERT INTO categorisation VALUES (null,$id_nationalite");
?>
Désolée c'est un peu long. L'insertion dans ce cas doit avoir comme valeurs :
id _nationalite : 1 2 3 5 9....
Ton champ id_nationalite dans la table categorisation est de type INT FK, tu ne pourras donc enregistrer qu'un seul identifiant de nationalité par ligne de la table categorisation.
Soit tu conserves ton champ id_nationalite en type INT FK : dans ce cas tu dois faire une boucle pour parcourir tous les identifiants sélectionnés et effectuer une requête INSERT pour chaque identifiant (un identifiant par ligne de la table categorisation).
Soit tu transforme ton champ id_nationalite en type VARCHAR : dans ce cas tu peux convertir ton tableau des identifiants sélectionnés en chaine de caractère via serialize() et l'enregistrer tel quel.
Soit tu conserves ton champ id_nationalite en type INT FK : dans ce cas tu dois faire une boucle pour parcourir tous les identifiants sélectionnés et effectuer une requête INSERT pour chaque identifiant (un identifiant par ligne de la table categorisation).
Soit tu transforme ton champ id_nationalite en type VARCHAR : dans ce cas tu peux convertir ton tableau des identifiants sélectionnés en chaine de caractère via serialize() et l'enregistrer tel quel.