yip a écrit :
C'est pas mal du tout ! le stocker en int; en utilisant 0 pour ""on ne sais pas si c'est fermé"" et -1 pour l'ouverture, on gagne encore un peu:
>0: fermé
0 inconnu
<0: ouvert (ou l'inverse)
V'la une bonne idée.
Pour éviter toutefois de faire des
if (4)
print("détruit")
if (5)
print(ruine)
à trop d'endroit dans le code, on peut se stoker la correspondance dans un tableau du config.
Ce qui permettrait un truc genre :
Code : Tout sélectionner
if ($etat>0)
print($config['etat_fermeture'][$x]);
Mais comment gère tu les sources "taries" ?
Il faut une correspondance avec le texte externe ?
Hmmm, ma foi oui, j'avais oublié ce truc des champs mutants...
ça sera pas bien pire qu'aujourd'hui de toute façon, donc un truc genre :
Code : Tout sélectionner
if ($etat>0)
{
if ($etat==1)
print($point->champ_fermer_mutant)
else
print($config['etat_fermeture'][$x]);
}
Ou alors, tout foutre en l'air ce système de champs mutant et mettre ça dans le $config
$config['noms_champs_points']['ferme'][$id_point_eau]="Tarie définitivement";
$config['noms_champs_points']['ferme'][$id_cabane]="Fermée";
Ouais, sauf que ça fait des id à la main, ouais ben à ce compte là bazarder la table type_point et mettre ça dans le config..
Ouais oulla bon, je devrais pas écrire au fûr et à mesure que je pense.
Ma pensée d'après, c'est évidement une nouvelle table "noms_propriété_points"
ou on trouve :
id type point | champs_point | valeur | affichage | format
7 | ferme | 1 | fermée | checkbox
7 | ferme | 2 | ruine | checkbox
7 | ferme | 3 | détruite | checkbox
12 | ferme | 1 | tarie définitivement | checkbox
12 | remarq | * | Remarques | textarea
et là, à nous le formulaire générique dynamiquement généré et et et oulla là, je crois que je m'emballe encore trop, mais ça plairait peut-être à dominique, lui qui trouvait que le formulaire de saisie de point était trop compliqué à maintenir ;-)
Et puis :calimero: j'ai merdé, il n'y a plus de "inconnu" en base. J'ai regroupé les "inconnus" et "ouvert" l'autre jour sans faire gaffe....il y a des backups pour récupérer la feature ? si oui je peux préparer l'injection.
tu as converti les ferme='non' en ferme='' plutôt ?
refuges=> select count(*),ferme from points group by ferme;
count | ferme
-------+---------
15 | ruine
2 | non
14 | detruit
2360 |
125 | oui
Seulement 2 cabanes déclarées ouvertes ça semble peu en effet.
J'ai récupéré un dump avec ce qui semble être mieux et j'ai mis ça dans une base test2
impossible d'écraser la table points actuel car mon dump est trop vieux, mais on peut au moins récupérer l'info. Je te laisse y faire ?