IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requete SQL et gradients circulaires


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2022
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2022
    Messages : 46
    Points : 24
    Points
    24
    Par défaut Requete SQL et gradients circulaires
    Bonjour les devs !
    Depuis plus d'une semaine j'essaie de faire fonctionner PHP et gradients circulaires, mais rien à faire , je n'y arrive pas.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
              <?php if (isset($_POST['mavariable'])) {
                $inscr_ele_num = $_POST['mavariable'];
                $req = $bdd->prepare("SELECT * FROM lcc.inscr_ele WHERE inscr_ele_num = $inscr_ele_num");
                $req->execute();
                $data = $req->fetch();
     
                $nomcal6 = $data['nomcal6'] * 5;
                $nomcal5 =  $data['nomcal5'] * 5;
                $nomcal4 =  $data['nomcal4'] * 5;
                $nomcal3 =  $data['nomcal3'] * 5;
     
                echo '          <defs> <radialGradient id="degradnomcal3" cx="50%" cy="100%" r="100%">
               <stop offset="' . $nomcal3 . '%" stop-color="rgba(153,255,255)" />
               <stop offset="' . ($nomcal3 + 5) . '%" stop-color="black" />
               </radialGradient>
            
               <radialGradient id="degradnomcal4" cx="50%" cy="100%" r="100%">
               <stop offset="' . $nomcal4 . '%" stop-color="rgba(153,255,255)" />
               <stop offset="' . ($nomcal4 + 5) . '%" stop-color="black" />
               </radialGradient>
            
               <radialGradient id="degradnomcal5" cx="50%" cy="100%" r="100%">
               <stop offset="' . $nomcal5 . '%" stop-color="rgba(153,255,255)" />
               <stop offset="' . ($nomcal5 + 5) . '%" stop-color="black" />
               </radialGradient>
            
               <radialGradient id="degradnomcal6" cx="50%" cy="100%" r="100%">
               <stop offset="' . $nomcal6 . '%" stop-color="rgba(153,255,255)" />
               <stop offset="' . ($nomcal6 + 5) . '%" stop-color="black" />
               </radialGradient>';
              } else {
                echo '<radialGradient id="degradnomcal3" cx="3%" cy="5%" r="100%">
                <stop offset="0%" stop-color="rgba(153,255,255)" />
               <stop offset="0%" stop-color="black" />
               </radialGradient>';
                echo '<radialGradient id="degradnomcal4" cx="3%" cy="5%" r="100%">
               <stop offset="0%" stop-color="rgba(153,255,255)" />
               <stop offset="0%" stop-color="black" />
               </radialGradient>';
                echo '<radialGradient id="degradnomcal5" cx="3%" cy="5%" r="100%">
                <stop offset="0%" stop-color="rgba(153,255,255)" />
                <stop offset="0%" stop-color="black" />
               </radialGradient>';
                echo  '<radialGradient id="degradnomcal6" cx="3%" cy="5%" r="100%">
                <stop offset="0%" stop-color="rgba(153,255,255)" />
                <stop offset="0%" stop-color="black" />
               </radialGradient>
                </defs>
               <g transform="translate(0,-145)">
               <path id="nomcal3" fill="url(\'#degradnomcal3\')" d="M 72.111678,146.06058 A 150,150 0 0 0 1.0121428,167.35902 L 20.32621,199.50279 a 112.5,112.5 0 0 1 112.48306,-1.9637 l 18.18028,-32.798 A 150,150 0 0 0 72.111678,146.06058 Z" />
               <path id="nomcal4" fill="url(\'#degradnomcal4\')" d="m 73.651119,183.52858 a 112.50001,112.50001 0 0 0 -53.324909,15.9737 l 19.314066,32.14377 a 75,75 0 0 1 74.988704,-1.30896 l 18.18029,-32.798 A 112.50001,112.50001 0 0 0 73.651119,183.52858 Z" />
               <path id="nomcal5" fill="url(\'#degradnomcal5\')" d="m 78.729362,220.93456 a 75,75 0 0 0 -3.539317,0.062 75,75 0 0 0 -35.549769,10.64948 l 19.314065,32.14378 a 37.499999,37.499999 0 0 1 37.494352,-0.65423 l 18.180287,-32.79851 a 75,75 0 0 0 -35.899618,-9.40253 z" />
               <path id="nomcal6" fill="url(\'#degradnomcal6\')" d="m 76.729486,258.4656 a 37.499999,37.499999 0 0 0 -17.775145,5.32423 l 19.314067,32.14377 18.180285,-32.798 a 37.499999,37.499999 0 0 0 -19.719207,-4.67 z m 1.513085,37.29075 a 0.02469723,0.08874056 0 0 1 0.01291,0.0114 l -0.01188,0.0775 -0.01291,-0.076 a 0.02469723,0.08874056 0 0 1 0.01188,-0.0129 z" />
               </g>';
               }
              ?>
    Tout va bien jusqu'à la définition des variables $nomcal6, $nomcal5,... mais lorsque j'arrive à l'echo des gradients, il fait comme si mon if isset était false et me renvoi le else !
    Alors que mes données sont présentes en amont (vérifié avec un var_dump).
    J'ai le résultat voulu dans ma réponse Réseau mais sur la page HTML, rien ne s'affiche !
    Help !!!!

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 427
    Points : 4 905
    Points
    4 905
    Par défaut
    Bonjour,

    êtes vous sûr qu'il n'y a aucun élément HTML sur la page? avez-vous inspecté la page?

    Car il me semble que c'est un problème de CSS, essayez d'appliquer cette règle sur les <radialgradient />
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    radialgradient{width:100%;height:100px;display:block;background-color:red}
    vous verrez peut être un changement...

    Je pense aussi qu'il manque la balise <svg />, regardez l'exemple ICI

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 211
    Points : 39 153
    Points
    39 153
    Billets dans le blog
    9
    Par défaut
    En marge de ce fil de discussion, notez qu'il ne faut pas utiliser SELECT * à de rares exceptions près

    Voyez mon article de blog à ce sujet

  4. #4
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2022
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2022
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Toufik83 Voir le message
    Bonjour,

    êtes vous sûr qu'il n'y a aucun élément HTML sur la page? avez-vous inspecté la page?

    Car il me semble que c'est un problème de CSS, essayez d'appliquer cette règle sur les <radialgradient />
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    radialgradient{width:100%;height:100px;display:block;background-color:red}
    vous verrez peut être un changement...

    Je pense aussi qu'il manque la balise <svg />, regardez l'exemple ICI
    Pas de CSS ici, toutes mes couleurs et données sont directement injectée dans le HTML.
    Pour ce qui est de la balise <svg/> vous remarquerez qu'il n'y a pas non plus la balise ouvrante, simplement parce que je ne l'ai pas ajouté dans le code transmis mais il l'est dans mon code perso.

    Je pense que mon problème est une histoire de chargement de flexbox.
    J'essaie de créer des gradients dynamiques, suivant l'élément choisi dans un select.
    Pour ce qui est de récupérer les données, aucun problème, je n'arrive juste pas à ce que le svg me les affiche.
    Dans la commande d'inspection, il est inscrit la valeur 0% pour le offset, autrement dit il affiche ma partie else (j'ai tenté de modifier le % du else et en effet, il prend ses valeurs en compte...)

  5. #5
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 427
    Points : 4 905
    Points
    4 905
    Par défaut
    Montrez-nous le code SQL de la table et aussi le formulaire que vous utilisez pour choisir les valeurs pour tester ...

  6. #6
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 868
    Points : 6 584
    Points
    6 584
    Par défaut
    il affiche ma partie else (j'ai tenté de modifier le % du else et en effet, il prend ses valeurs en compte...)
    C'est donc que isset($_POST['mavariable']) renvoie false. Reste à savoir pourquoi.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  7. #7
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2022
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2022
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Toufik83 Voir le message
    Montrez-nous le code SQL de la table et aussi le formulaire que vous utilisez pour choisir les valeurs pour tester ...
    Voici ma table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    CREATE TABLE IF NOT EXISTS `inscr_ele` (
      `inscr_ele_num` int NOT NULL AUTO_INCREMENT,
      `inscr_ele_nom` varchar(50) NOT NULL,
      `inscr_ele_prenom` varchar(50) NOT NULL,
      `id_classe` int NOT NULL,
      `inscr_ens_num` int NOT NULL,
      `inscr_ele_pseudo` varchar(50) NOT NULL,
      `inscr_ele_mdp` text NOT NULL,
      `token` text NOT NULL,
      `nomcal6` int NOT NULL,
      `nomcal6a` int NOT NULL,
      `nomcal6b` int NOT NULL,
      `nomcal6c` int NOT NULL,
      `grame6` int NOT NULL,
      `grame6a` int NOT NULL,
      `grame6b` int NOT NULL,
      `espgeo6` int NOT NULL,
      `espgeo6a` int NOT NULL,
      `espgeo6b` int NOT NULL,
      `espgeo6c` int NOT NULL,
      `nomcal5` int NOT NULL,
      `nomcal5a` int NOT NULL,
      `nomcal5b` int NOT NULL,
      `nomcal5c` int NOT NULL,
      `grame5` int NOT NULL,
      `grame5a` int NOT NULL,
      `grame5b` int NOT NULL,
      `espgeo5` int NOT NULL,
      `espgeo5a` int NOT NULL,
      `espgeo5b` int NOT NULL,
      `orge5` int NOT NULL,
      `orge5a` int NOT NULL,
      `orge5b` int NOT NULL,
      `orge5c` int NOT NULL,
      `orge5d` int NOT NULL,
      `algo5` int NOT NULL,
      `algo5a` int NOT NULL,
      `algo5b` int NOT NULL,
      `algo5c` int NOT NULL,
      `nomcal4` int NOT NULL,
      `nomcal4a` int NOT NULL,
      `nomcal4b` int NOT NULL,
      `nomcal4c` int NOT NULL,
      `nomcal4c1` int NOT NULL,
      `nomcal4c2` int NOT NULL,
      `grame4` int NOT NULL,
      `grame4a` int NOT NULL,
      `grame4b` int NOT NULL,
      `espgeo4` int NOT NULL,
      `espgeo4a` int NOT NULL,
      `espgeo4b` int NOT NULL,
      `orge4` int NOT NULL,
      `orge4a` int NOT NULL,
      `orge4b` int NOT NULL,
      `orge4c` int NOT NULL,
      `orge4d` int NOT NULL,
      `algo4` int NOT NULL,
      `algo4a` int NOT NULL,
      `algo4b` int NOT NULL,
      `algo4c` int NOT NULL,
      `nomcal3` int NOT NULL,
      `nomcal3a` int NOT NULL,
      `nomcal3b` int NOT NULL,
      `nomcal3c` int NOT NULL,
      `grame3` int NOT NULL,
      `grame3a` int NOT NULL,
      `grame3b` int NOT NULL,
      `espgeo3` int NOT NULL,
      `espgeo3a` int NOT NULL,
      `espgeo3b` int NOT NULL,
      `orge3` int NOT NULL,
      `orge3a` int NOT NULL,
      `orge3b` int NOT NULL,
      `orge3c` int NOT NULL,
      `orge3d` int NOT NULL,
      `algo3` int NOT NULL,
      `algo3a` int NOT NULL,
      `algo3b` int NOT NULL,
      `algo3c` int NOT NULL,
      PRIMARY KEY (`inscr_ele_num`),
      UNIQUE KEY `id_classe` (`id_classe`),
      KEY `Classe` (`id_classe`),
      KEY `id_classe_2` (`id_classe`),
      KEY `inscr_ens_num` (`inscr_ens_num`)
    ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
    Et voici le complément de ma table avec quelques données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO `inscr_ele` (`inscr_ele_num`, `inscr_ele_nom`, `inscr_ele_prenom`, `id_classe`, `inscr_ens_num`, `inscr_ele_pseudo`, `inscr_ele_mdp`, `token`, `nomcal6`, `nomcal6a`, `nomcal6b`, `nomcal6c`, `grame6`, `grame6a`, `grame6b`, `espgeo6`, `espgeo6a`, `espgeo6b`, `espgeo6c`, `nomcal5`, `nomcal5a`, `nomcal5b`, `nomcal5c`, `grame5`, `grame5a`, `grame5b`, `espgeo5`, `espgeo5a`, `espgeo5b`, `orge5`, `orge5a`, `orge5b`, `orge5c`, `orge5d`, `algo5`, `algo5a`, `algo5b`, `algo5c`, `nomcal4`, `nomcal4a`, `nomcal4b`, `nomcal4c`, `nomcal4c1`, `nomcal4c2`, `grame4`, `grame4a`, `grame4b`, `espgeo4`, `espgeo4a`, `espgeo4b`, `orge4`, `orge4a`, `orge4b`, `orge4c`, `orge4d`, `algo4`, `algo4a`, `algo4b`, `algo4c`, `nomcal3`, `nomcal3a`, `nomcal3b`, `nomcal3c`, `grame3`, `grame3a`, `grame3b`, `espgeo3`, `espgeo3a`, `espgeo3b`, `orge3`, `orge3a`, `orge3b`, `orge3c`, `orge3d`, `algo3`, `algo3a`, `algo3b`, `algo3c`) VALUES
     
    (13, 'Pan', 'Peter', 22, 1, 'Banane', '$2y$12$LoAZQoHb4IqaF6jY2fbZwuBh66q0QGEVTc7TPSGXydzsgr.OySD2.', 'bd768afe6111f99ca492b516f56740270711550b31216a39a9adcc853968a47d45d87435a2cefedd0e0b0232340bd2e45197088935c4a94955a03ada9558bf15', 0, 0, 0, 0, 15, 0, 12, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

  8. #8
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 211
    Points : 39 153
    Points
    39 153
    Billets dans le blog
    9
    Par défaut
    Cette table est très très mal conçue : la répétition d'attributs semblables et le nombre de ces attributs sont symptomatiques d'une modélisation à plat non respectueuse des formes normales.
    C'est la source de tous les maux : très mauvaise évolutivité, requêtes complexes et contre performantes, contenu mal maîtrisé, accès concurrents bridés...
    Une base de données relationnelle n'est pas un tableur. Il existe un forum modélisation qui peut vous aider à bien concevoir vos BDD, rendez-vous ICI si vous avez besoin d'aide sur ce chapitre.

Discussions similaires

  1. [ DB2 ] [ AS400] requête sql
    Par zinaif dans le forum DB2
    Réponses: 6
    Dernier message: 23/08/2008, 19h42
  2. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  3. Requête SQL
    Par Leludo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/02/2003, 16h44
  4. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo