This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--0QnwbKCDMNm0zVWahmpaqTKvRnVDUEssx
Content-Type: multipart/mixed; boundary="oQD9sqwFO51Y621z8tsc99wtqcyVnKjlm";
protected-headers="v1"
From: Yannick VOYEAUD <yannick@voyeaud.org>
Newsgroups: fr.comp.lang.php
Subject: Aide PHP-Mysql
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Denis Beauregard
Le Wed, 5 May 2021 15:41:28 +0200, Yannick VOYEAUD écrivait dans fr.comp.lang.php:
Bonjour, Qui accepterait de m'aider Í faire des scripts PHP-MySQL? C'est pour une asso patrimoine. Je veux mettre Í disposition le contenu de la bibliothèque. J'ai déjÍ fait les tables. Je fournirais donc les tables déjÍ faites et le fichier d'origine sous LibreOffice. J'ai besoin que l'on me fasse une jointure simple et une jointure complexe car table intermédiaire. Après je ferais du copié/collé pour finir le travail.
Pourquoi ne pas faire au plus simple ? J'ai une liste de données ADN dans un tableau, avec une colonne qui sert de pivot. Dans la table 1, j'ai un pointeur vers la table 2 avec laquelle je vais chercher ce dont j'ai besoin. Je pense que c'est plus simple de faire le code avec ce qu'on sait, surtout qu'il faudra le modifier plus tard. Denis, qui aura bientÍ´t 65 lui aussi...
Le Wed, 5 May 2021 15:41:28 +0200, Yannick VOYEAUD
<yannick@voyeaud.org> écrivait dans fr.comp.lang.php:
Bonjour,
Qui accepterait de m'aider Í faire des scripts PHP-MySQL?
C'est pour une asso patrimoine. Je veux mettre Í disposition le contenu
de la bibliothèque.
J'ai déjÍ fait les tables.
Je fournirais donc les tables déjÍ faites et le fichier d'origine sous
LibreOffice.
J'ai besoin que l'on me fasse une jointure simple et une jointure
complexe car table intermédiaire.
Après je ferais du copié/collé pour finir le travail.
Pourquoi ne pas faire au plus simple ?
J'ai une liste de données ADN dans un tableau, avec une colonne qui
sert de pivot. Dans la table 1, j'ai un pointeur vers la table 2
avec laquelle je vais chercher ce dont j'ai besoin.
Je pense que c'est plus simple de faire le code avec ce qu'on sait,
surtout qu'il faudra le modifier plus tard.
Le Wed, 5 May 2021 15:41:28 +0200, Yannick VOYEAUD écrivait dans fr.comp.lang.php:
Bonjour, Qui accepterait de m'aider Í faire des scripts PHP-MySQL? C'est pour une asso patrimoine. Je veux mettre Í disposition le contenu de la bibliothèque. J'ai déjÍ fait les tables. Je fournirais donc les tables déjÍ faites et le fichier d'origine sous LibreOffice. J'ai besoin que l'on me fasse une jointure simple et une jointure complexe car table intermédiaire. Après je ferais du copié/collé pour finir le travail.
Pourquoi ne pas faire au plus simple ? J'ai une liste de données ADN dans un tableau, avec une colonne qui sert de pivot. Dans la table 1, j'ai un pointeur vers la table 2 avec laquelle je vais chercher ce dont j'ai besoin. Je pense que c'est plus simple de faire le code avec ce qu'on sait, surtout qu'il faudra le modifier plus tard. Denis, qui aura bientÍ´t 65 lui aussi...
Le Thu, 6 May 2021 14:54:01 +0200, Yannick VOYEAUD écrivait dans fr.comp.lang.php:
Le 06/05/2021 Í 00:58, Denis Beauregard a écrit :
Le Wed, 5 May 2021 15:41:28 +0200, Yannick VOYEAUD écrivait dans fr.comp.lang.php:
Si je ne veux pas alourdir de trop la table principale je suis obligé d'avoir une table intermédiaire. J'ai des ouvrages avec plusieurs auteurs et c'est lÍ que cela coince sévèrement. Si je fais au plus simple je dois alourdir ma table principale de 630 lignes pour 1306 lignes au départ et ce sans compter que les périodes concernées par les ouvrages peuvent lÍ aussi alourdir sérieusement la table de base. Il me faut donc une solution adaptée Í la problématique posée. Mais voilÍ mes compétences sont basiques et limitées.
J'ai un grand nombre de tables dans ma base de données et j'utilise des pivots pour aller chercher les données. Par exemple, pour afficher un couple, je vais chercher les données sur le couple affichées au début, puis les données des enfants dans 2 tables (comme individus et comme membres d'un couple). Je place les données dans des classes et j'ai mis des fonctions pour chaque situation. Cela donne quelque chose comme:
class Acte { var $evendate; var $evenlieu; var $evenzone; var $enrdate; var $enrlieu; var $enrzone; var $source; var $source2; var $eventype; var $eventype2; function DateNotaire() { if ($this->evendate == "") $sortie = ""; else $sortie = TraduireDate(Filtre123($this->evendate)); if ($this->evenlieu != "") { //notaire ou greffe indiqué if ($sortie != "") $sortie .= " "; $sortie .= FrancaisAnglais("(greffe ","(depositary ").$this->evenlieu.")"; } return $sortie; } function DateLieu() { if ($this->evendate == "") $sortie = CoderLieuZone($this->evenlieu, $this->evenzone); else { $sortie = TraduireDate(Filtre123($this->evendate)); $sortie2 = CoderLieuZone($this->evenlieu, $this->evenzone); if ($sortie2 != "") $sortie .= " ".$sortie2; } return $sortie; }
etc. class Personne { var $id; //numéro de fiche indi pour référence var $reel; //numéro de fiche réelle var $prenom; etc. class Famille { var $id; var $lui, $luiPere, $luiMere, $luiParents, $luilien; etc. J'ai fait des fonctions pour insérer dans ces tables les données requises en explorant ligne par ligne mes fichiers CSV relus dans des tables SQL: function InsererSimple($itype,$idate, $ilieu,$izone,$isrc1,$isrc2) { $this->eventype=$itype; $this->eventype2=1; $this->evendate=Filtre123($idate); $this->evenlieu=Filtre123($ilieu); $this->evenzone=Filtre123($izone); $this->source=Filtre123($isrc1); $this->source2=Filtre123($isrc2); } Et d'autres fonctions qui reprennent ces données pour afficher ou pour lire une valeur quelconque. C'est du C++ typique. class Personne { ... function PatroPrenom() { return $this->patro.", ".$this->prenom; } function PrenomPatro() { return $this->prenom." ".InverserPatro($this->patro); } function Patro() { return $this->patro; } function Prenom() { return $this->prenom; } avec parfois la lecture d'une valeur directement dans une table function StatsAsc ($couple) { global $basegfan; $sortie = ""; $query = "SELECT * FROM ".BASE.".ascasc WHERE `couple` ".$couple; $rep = $basegfan->query($query); VerifierErreurSQL ($rep, $query); $li = $rep->fetch_array (); $sortie.= AfficherStatsGroupe2 ($li ['tous_nbgen'], $li ['tous_nbmar'], $li ['tous_mariage'], 0, 0); return $sortie; } Dans mon cas, aucun "joint". Denis
Le Thu, 6 May 2021 14:54:01 +0200, Yannick VOYEAUD
<yannick@voyeaud.org> écrivait dans fr.comp.lang.php:
Le 06/05/2021 Í 00:58, Denis Beauregard a écrit :
> Le Wed, 5 May 2021 15:41:28 +0200, Yannick VOYEAUD
> <yannick@voyeaud.org> écrivait dans fr.comp.lang.php:
>
Si je ne veux pas alourdir de trop la table principale je suis obligé
d'avoir une table intermédiaire.
J'ai des ouvrages avec plusieurs auteurs et c'est lÍ que cela coince
sévèrement. Si je fais au plus simple je dois alourdir ma table
principale de 630 lignes pour 1306 lignes au départ et ce sans compter
que les périodes concernées par les ouvrages peuvent lÍ aussi alourdir
sérieusement la table de base.
Il me faut donc une solution adaptée Í la problématique posée. Mais
voilÍ mes compétences sont basiques et limitées.
J'ai un grand nombre de tables dans ma base de données et j'utilise
des pivots pour aller chercher les données.
Par exemple, pour afficher un couple, je vais chercher les données
sur le couple affichées au début, puis les données des enfants dans
2 tables (comme individus et comme membres d'un couple). Je place les
données dans des classes et j'ai mis des fonctions pour chaque
situation. Cela donne quelque chose comme:
class Acte
{
var $evendate;
var $evenlieu;
var $evenzone;
var $enrdate;
var $enrlieu;
var $enrzone;
var $source;
var $source2;
var $eventype;
var $eventype2;
function DateNotaire() {
if ($this->evendate == "") $sortie = "";
else $sortie = TraduireDate(Filtre123($this->evendate));
if ($this->evenlieu != "") { //notaire ou greffe indiqué
if ($sortie != "") $sortie .= " ";
$sortie .= FrancaisAnglais("(greffe ","(depositary ").$this->evenlieu.")";
}
return $sortie;
}
function DateLieu() {
if ($this->evendate == "") $sortie = CoderLieuZone($this->evenlieu, $this->evenzone);
else {
$sortie = TraduireDate(Filtre123($this->evendate));
$sortie2 = CoderLieuZone($this->evenlieu, $this->evenzone);
if ($sortie2 != "") $sortie .= " ".$sortie2;
}
return $sortie;
}
etc.
class Personne
{
var $id; //numéro de fiche indi pour référence
var $reel; //numéro de fiche réelle
var $prenom;
etc.
class Famille
{
var $id;
var $lui, $luiPere, $luiMere, $luiParents, $luilien;
etc.
J'ai fait des fonctions pour insérer dans ces tables les données
requises en explorant ligne par ligne mes fichiers CSV relus dans
des tables SQL:
Le Thu, 6 May 2021 14:54:01 +0200, Yannick VOYEAUD écrivait dans fr.comp.lang.php:
Le 06/05/2021 Í 00:58, Denis Beauregard a écrit :
Le Wed, 5 May 2021 15:41:28 +0200, Yannick VOYEAUD écrivait dans fr.comp.lang.php:
Si je ne veux pas alourdir de trop la table principale je suis obligé d'avoir une table intermédiaire. J'ai des ouvrages avec plusieurs auteurs et c'est lÍ que cela coince sévèrement. Si je fais au plus simple je dois alourdir ma table principale de 630 lignes pour 1306 lignes au départ et ce sans compter que les périodes concernées par les ouvrages peuvent lÍ aussi alourdir sérieusement la table de base. Il me faut donc une solution adaptée Í la problématique posée. Mais voilÍ mes compétences sont basiques et limitées.
J'ai un grand nombre de tables dans ma base de données et j'utilise des pivots pour aller chercher les données. Par exemple, pour afficher un couple, je vais chercher les données sur le couple affichées au début, puis les données des enfants dans 2 tables (comme individus et comme membres d'un couple). Je place les données dans des classes et j'ai mis des fonctions pour chaque situation. Cela donne quelque chose comme:
class Acte { var $evendate; var $evenlieu; var $evenzone; var $enrdate; var $enrlieu; var $enrzone; var $source; var $source2; var $eventype; var $eventype2; function DateNotaire() { if ($this->evendate == "") $sortie = ""; else $sortie = TraduireDate(Filtre123($this->evendate)); if ($this->evenlieu != "") { //notaire ou greffe indiqué if ($sortie != "") $sortie .= " "; $sortie .= FrancaisAnglais("(greffe ","(depositary ").$this->evenlieu.")"; } return $sortie; } function DateLieu() { if ($this->evendate == "") $sortie = CoderLieuZone($this->evenlieu, $this->evenzone); else { $sortie = TraduireDate(Filtre123($this->evendate)); $sortie2 = CoderLieuZone($this->evenlieu, $this->evenzone); if ($sortie2 != "") $sortie .= " ".$sortie2; } return $sortie; }
etc. class Personne { var $id; //numéro de fiche indi pour référence var $reel; //numéro de fiche réelle var $prenom; etc. class Famille { var $id; var $lui, $luiPere, $luiMere, $luiParents, $luilien; etc. J'ai fait des fonctions pour insérer dans ces tables les données requises en explorant ligne par ligne mes fichiers CSV relus dans des tables SQL: function InsererSimple($itype,$idate, $ilieu,$izone,$isrc1,$isrc2) { $this->eventype=$itype; $this->eventype2=1; $this->evendate=Filtre123($idate); $this->evenlieu=Filtre123($ilieu); $this->evenzone=Filtre123($izone); $this->source=Filtre123($isrc1); $this->source2=Filtre123($isrc2); } Et d'autres fonctions qui reprennent ces données pour afficher ou pour lire une valeur quelconque. C'est du C++ typique. class Personne { ... function PatroPrenom() { return $this->patro.", ".$this->prenom; } function PrenomPatro() { return $this->prenom." ".InverserPatro($this->patro); } function Patro() { return $this->patro; } function Prenom() { return $this->prenom; } avec parfois la lecture d'une valeur directement dans une table function StatsAsc ($couple) { global $basegfan; $sortie = ""; $query = "SELECT * FROM ".BASE.".ascasc WHERE `couple` ".$couple; $rep = $basegfan->query($query); VerifierErreurSQL ($rep, $query); $li = $rep->fetch_array (); $sortie.= AfficherStatsGroupe2 ($li ['tous_nbgen'], $li ['tous_nbmar'], $li ['tous_mariage'], 0, 0); return $sortie; } Dans mon cas, aucun "joint". Denis