Auteur Sujet: [Résolu] [Recherche coup de main] PHP + BDD  (Lu 540 fois)

Hors ligne _n3o_

  • Historical Gamer
  • *
  • Messages: 4265
  • Localisation: MARIO WORLD (Chocolatines)
  • 。◕‿◕。 rollingg starttttt !
    • Voir le profil
[Recherche coup de main] PHP + BDD
« Réponse #16 le: Lundi 09 Juillet 2018, 15:27:34 pm »
  • J'ai copié collé le code donné par Tilowil plus haut.


    Hors ligne Solkan

    • ✌(◕‿◕)✌ Donateur 2018
    • Hardcore Gamer
    • *
    • Messages: 1944
    • Localisation: Braives - Belgique
      • Voir le profil
      • MountyHall
    [Recherche coup de main] PHP + BDD
    « Réponse #17 le: Lundi 09 Juillet 2018, 15:33:05 pm »
  • C'est donc probablement dans l'insert.php a la ligne 12 qui a effectivement une typo.
    code avec une petite faute :
    $sql = "insert into JoueurScore(Joueur, Score) Values ('$joueur',$score);"a remplacer par :
    $sql = "insert into JoueurScore(Joueur, Score) Values ('$joueur',$score)";
    Solkan
    "There is too much blood in my Coca-Cola System"

    Mes Recherches : Marquee et PCB MK2, Konami Gyruss/Pooyan/Time Pilot/Yie Ar Kung Fu/Commando/Track & Field

    Hors ligne _n3o_

    • Historical Gamer
    • *
    • Messages: 4265
    • Localisation: MARIO WORLD (Chocolatines)
    • 。◕‿◕。 rollingg starttttt !
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #18 le: Lundi 09 Juillet 2018, 16:54:34 pm »
  • Effectivement.

    Aprés changement j'ai une autre erreur mais ca avance (peut etre que là effectivement ca viens du mysql/mysqli

    [09-Jul-2018 16:52:55 Europe/Berlin] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /Applications/MAMP/htdocs/SITE/insert.php:8
    Stack trace:
    #0 {main}
      thrown in /Applications/MAMP/htdocs/SITE/insert.php on line 8


    la ligne 8

      $liendb = mysql_connect('localhost', 'root', 'root') or die('Impossible de se connecter : ' . mysql_error());

    --- edit ---
    j'ai mis des mysqli partout et maintenant j'ai plus d'erreur 500 mais dans le log php j'ai ca :

    [09-Jul-2018 16:56:14 Europe/Berlin] PHP Warning:  mysqli_select_db() expects parameter 1 to be mysqli, string given in /Applications/MAMP/htdocs/THE_SHOW/insert.php on line 10
    [09-Jul-2018 16:56:14 Europe/Berlin] PHP Warning:  mysqli_query() expects parameter 1 to be mysqli, string given in /Applications/MAMP/htdocs/THE_SHOW/insert.php on line 13
    [09-Jul-2018 16:56:14 Europe/Berlin] PHP Warning:  mysqli_error() expects exactly 1 parameter, 0 given in /Applications/MAMP/htdocs/THE_SHOW/insert.php on line 13

    (j'y suis ptetre allé un peu fort sur les mysqli ?  :D
    « Modifié: Lundi 09 Juillet 2018, 16:58:23 pm par _n3o_ »


    Hors ligne Tormak

    • Alias Tic
    • Pilier
    • *
    • Messages: 563
    • Localisation: Le Mans
    • Sire, Sire ! On en a gros !
      • Voir le profil
      • Salon Freeplay
    [Recherche coup de main] PHP + BDD
    « Réponse #19 le: Lundi 09 Juillet 2018, 19:44:32 pm »
  • Remplace " $liendb = new mysqli('localhost', 'root', 'root') or die('Impossible de se connecter : ' . mysql_error());" par :

     $liendb = mysqli_connect('localhost', 'root', 'root','ta base de données');
    if ($liendb ->connect_errno) {
        echo "Echec lors de la connexion à MySQL : (" . $liendb ->connect_errno . ") " . $liendb ->connect_error;
    }


    Hors ligne tilowil

    • ✌(◕‿◕)✌ Donateur 2018 Brouettes Master's
    • Team
    • Arcade Druid
    • *****
    • Messages: 3756
    • Localisation: 27
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #20 le: Mardi 10 Juillet 2018, 01:48:18 am »
  • Bonsoir,

    Je vois que d'autres ont pris le relais aussi  ^-^.
    Désolé pour le point virgule mal placé :-\.

    Je t'aurais donné un code avec mysqli, si j'avais su que tu etais en PHP7. désolé.

    A+

    Hors ligne Solkan

    • ✌(◕‿◕)✌ Donateur 2018
    • Hardcore Gamer
    • *
    • Messages: 1944
    • Localisation: Braives - Belgique
      • Voir le profil
      • MountyHall
    [Recherche coup de main] PHP + BDD
    « Réponse #21 le: Mardi 10 Juillet 2018, 07:49:46 am »
  • j'ai mis des mysqli partout et maintenant j'ai plus d'erreur 500 mais dans le log php j'ai ca :

    [09-Jul-2018 16:56:14 Europe/Berlin] PHP Warning:  mysqli_select_db() expects parameter 1 to be mysqli, string given in /Applications/MAMP/htdocs/THE_SHOW/insert.php on line 10
    [09-Jul-2018 16:56:14 Europe/Berlin] PHP Warning:  mysqli_query() expects parameter 1 to be mysqli, string given in /Applications/MAMP/htdocs/THE_SHOW/insert.php on line 13
    [09-Jul-2018 16:56:14 Europe/Berlin] PHP Warning:  mysqli_error() expects exactly 1 parameter, 0 given in /Applications/MAMP/htdocs/THE_SHOW/insert.php on line 13

    Ce sont des notifications, pas des erreurs. Visiblement ton script s'est éxécuté jusqu'au bout.
    Solkan
    "There is too much blood in my Coca-Cola System"

    Mes Recherches : Marquee et PCB MK2, Konami Gyruss/Pooyan/Time Pilot/Yie Ar Kung Fu/Commando/Track & Field

    Hors ligne _n3o_

    • Historical Gamer
    • *
    • Messages: 4265
    • Localisation: MARIO WORLD (Chocolatines)
    • 。◕‿◕。 rollingg starttttt !
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #22 le: Mardi 10 Juillet 2018, 10:13:02 am »
  • Bon toujours pas, je vais voir si l'hebergement final sera en PHP 5 ou PHP 7, qu'on se prenne pas le choux pour rien a devoir refaire l'inverse par la suite :p


    Hors ligne Solkan

    • ✌(◕‿◕)✌ Donateur 2018
    • Hardcore Gamer
    • *
    • Messages: 1944
    • Localisation: Braives - Belgique
      • Voir le profil
      • MountyHall
    [Recherche coup de main] PHP + BDD
    « Réponse #23 le: Mardi 10 Juillet 2018, 10:19:18 am »
  • mysqli_query est utilisable depuis php 5; C'est lui le standard à utiliser.
    Solkan
    "There is too much blood in my Coca-Cola System"

    Mes Recherches : Marquee et PCB MK2, Konami Gyruss/Pooyan/Time Pilot/Yie Ar Kung Fu/Commando/Track & Field

    Hors ligne _n3o_

    • Historical Gamer
    • *
    • Messages: 4265
    • Localisation: MARIO WORLD (Chocolatines)
    • 。◕‿◕。 rollingg starttttt !
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #24 le: Mardi 10 Juillet 2018, 11:47:44 am »
  • ah cool


    Hors ligne _n3o_

    • Historical Gamer
    • *
    • Messages: 4265
    • Localisation: MARIO WORLD (Chocolatines)
    • 。◕‿◕。 rollingg starttttt !
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #25 le: Mardi 10 Juillet 2018, 12:20:38 pm »
  • J'ai telechargé un convertisseur Mysql->Mysqli et CA MARCHEEEEEE ! ! ! ! ! ! !  :-)= ^-^

    Me reste a voir la recuperation des données mais c'est deja une avancée enorme

    MERCI LES GARS VOUS ETES AU TOP ! ! ^-^ :-)= :-* :-* :-*

    Par contre pour le TOP 3 chacun des 3 top players doivent etre recuperé indépendamment :/

    A l'heure actuelle j'ai ca (en appelant les données d'une autre page ca marchais mais bon ca a rien a voir là :D)

    <div class="or wow fadeInLeft" data-wow-duration="1s" data-wow-delay="1.6s"  style="float:none; display: inline-block;">
                     <img src="images/gold.svg" height="100em"></img>
                     <h3 class="pricing-title">1 er</h3>
                     </BR>
                     <div class="pricing-price timer" data-from="0" data-to="<?php echo $_POST['j1score']; ?>" data-speed="2000" data-refresh-interval="50" style="color:#F7B40A;font-size:320%"></div>
                     </BR> </BR>
                     <p class="pricing-sentence" style="font-size:200%"><?php echo $_POST['equipe1']; ?></p>
                 </div>
                 <div class="argent wow fadeInLeft" data-wow-duration="1s" data-wow-delay="1.3s"  style="float:none; display: inline-block;">
                 <img src="images/silver.svg" height="100em"></img>
                     <h3 class="pricing-title">2 eme</h3>
                     </BR>
                     <div class="pricing-price timer" data-from="0" data-to="<?php echo $_POST['score2']; ?>" data-speed="2000" data-refresh-interval="50" style="color:#606060; font-size:240%"></div>
                </BR> </BR>
                  <p class="pricing-sentence" style="font-size:160%"><?php echo $_POST['equipe2']; ?></p>
                 </div>
                 <div class="bronze wow fadeInLeft" data-wow-duration="1s" data-wow-delay="1.1s" style="float:none; display: inline-block;">
                <img src="images/bronze.svg" height="100em"></img>
                     <h3 class="pricing-title">3 eme</h3>
                     </BR>
    <div class="pricing-price timer" data-from="0" data-to="<?php echo $_POST['score3']; ?>" data-speed="2000" data-refresh-interval="50" style="color:#A34902; font-size:180%"></div>
              </BR> </BR>
              <p class="pricing-sentence" style="font-size:130%"><?php echo $_POST['equipe3']; ?></p>
                 </div>
    « Modifié: Mardi 10 Juillet 2018, 15:34:47 pm par _n3o_ »


    Hors ligne _n3o_

    • Historical Gamer
    • *
    • Messages: 4265
    • Localisation: MARIO WORLD (Chocolatines)
    • 。◕‿◕。 rollingg starttttt !
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #26 le: Vendredi 13 Juillet 2018, 09:48:36 am »
  • Help les copains, c'est la derniere ligne droite :/


    Hors ligne tilowil

    • ✌(◕‿◕)✌ Donateur 2018 Brouettes Master's
    • Team
    • Arcade Druid
    • *****
    • Messages: 3756
    • Localisation: 27
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #27 le: Vendredi 13 Juillet 2018, 09:59:08 am »
  • Salut,
    Je croyais que ca marchait. ;)

    Tu utilises mysqli, donc tu dois toujours avoir la requête qui te sort le top 3 (celle avec le limit 3). C'est vrai qu'elle te sort le top 3 en 1 fois, mais si tu regardes le code pour l'affichage on lit chaque ligne 1 à 1 (fetch). Tu adaptes cette partie (dans le fetch) avec ton code precedent, simplissime :D.

    A+

    [Edit] Au pire colle ton code de la partie top 3 et ce soir je te pond un truc pour réutiliser ton ancien code, sauf si quelqu'un d'autre ne te le fait avant.

    A+
    « Modifié: Vendredi 13 Juillet 2018, 10:04:37 am par tilowil »

    Hors ligne _n3o_

    • Historical Gamer
    • *
    • Messages: 4265
    • Localisation: MARIO WORLD (Chocolatines)
    • 。◕‿◕。 rollingg starttttt !
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #28 le: Vendredi 13 Juillet 2018, 11:06:55 am »
  • Vu mes faibles competances je pense qu'il est plus judicieux de te c/c mon code actuel dans lequel je veut integrer les 3 scores ;)

    <div class="fh5co-pricing-style-2 row" style="width:100%;background-color:transparent;padding:0 0;">
    <div style="margin:0 auto;display:inline-block;padding:0 0 0 10px; text-align:center;">

                 <div class="or wow fadeInLeft" data-wow-duration="1s" data-wow-delay="1.6s"  style="float:none; display: inline-block;">
                     <img src="images/gold.svg" height="100em"></img>
                     <h3 class="pricing-title">1 er</h3>
                     </BR>
                     <div class="pricing-price timer" data-from="0" data-to="<?php echo $_POST['j1score']; ?>" data-speed="2000" data-refresh-interval="50" style="color:#F7B40A;font-size:320%"></div>
                     </BR> </BR>
                     <p class="pricing-sentence" style="font-size:200%"><?php echo $_POST['equipe1']; ?></p>
                 </div>
                 <div class="argent wow fadeInLeft" data-wow-duration="1s" data-wow-delay="1.3s"  style="float:none; display: inline-block;">
                 <img src="images/silver.svg" height="100em"></img>
                     <h3 class="pricing-title">2 eme</h3>
                     </BR>
                     <div class="pricing-price timer" data-from="0" data-to="<?php echo $_POST['score2']; ?>" data-speed="2000" data-refresh-interval="50" style="color:#606060; font-size:240%"></div>
                </BR> </BR>
                  <p class="pricing-sentence" style="font-size:160%"><?php echo $_POST['equipe2']; ?></p>
                 </div>
                 <div class="bronze wow fadeInLeft" data-wow-duration="1s" data-wow-delay="1.1s" style="float:none; display: inline-block;">
                <img src="images/bronze.svg" height="100em"></img>
                     <h3 class="pricing-title">3 eme</h3>
                     </BR>
    <div class="pricing-price timer" data-from="0" data-to="<?php echo $_POST['score3']; ?>" data-speed="2000" data-refresh-interval="50" style="color:#A34902; font-size:180%"></div>
              </BR> </BR>
              <p class="pricing-sentence" style="font-size:130%"><?php echo $_POST['equipe3']; ?></p>
                 </div>
    </div>

    esthétiquement ca donne ca :


    « Modifié: Vendredi 13 Juillet 2018, 11:11:07 am par _n3o_ »


    Hors ligne tilowil

    • ✌(◕‿◕)✌ Donateur 2018 Brouettes Master's
    • Team
    • Arcade Druid
    • *****
    • Messages: 3756
    • Localisation: 27
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #29 le: Vendredi 13 Juillet 2018, 19:28:38 pm »
  • Salut,

    Excuse ma mauvaise écriture, Je te demandais le code avec l'appel à ta base mysql, pour que je puisse y integrer le code d'affichage. Sinon tu vas devoir ré-adapter le code que je vais te faire tout à l'heure, tant qu'a faire avoir une solution finale.

    A+

    Hors ligne _n3o_

    • Historical Gamer
    • *
    • Messages: 4265
    • Localisation: MARIO WORLD (Chocolatines)
    • 。◕‿◕。 rollingg starttttt !
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #30 le: Samedi 14 Juillet 2018, 10:21:41 am »
  • je te mp mon index, l'appel de ma base suit exactement ce que tu as mis (nom de base, nom des tables, etc)


    Hors ligne tilowil

    • ✌(◕‿◕)✌ Donateur 2018 Brouettes Master's
    • Team
    • Arcade Druid
    • *****
    • Messages: 3756
    • Localisation: 27
      • Voir le profil
    [Recherche coup de main] PHP + BDD
    « Réponse #31 le: Samedi 14 Juillet 2018, 17:41:37 pm »
  • Salut,

    En reprenant un partie de ton code envoyé en MP, voici la partie pour le top 3.
    Le code est perfectible, en mutualisant certaines parties. Je n'avais qu'une petite heure devant moi.
    Je n'ai pas tes données et ton css, je n'ai donc pas pu tester mais je n'ai pas du laisser trop de bugs.
    J'ai repris ton code HTML pour l'affichage du top 3 en le passant en echo le HTML (ce qui ne change rien), mais simplement pour n'avoir qu'un seul bloc PHP.

    <?php 
      $liendb 
    = ($GLOBALS["___mysqli_ston"] = mysqli_connect('localhost',  'root',  'root')) or die('Impossible de se connecter : ' mysqli_error($GLOBALS["___mysqli_ston"])); 
      
    mysqli_select_db($liendbtest); 
      
    $sql 'select @rang := @rang + 1 as rang, Joueur,Score from JoueurScore a cross join (select @rang:=0) b ORDER BY Score DESC limit 3'
      
    $req mysqli_query($GLOBALS["___mysqli_ston"], $sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysqli_error($GLOBALS["___mysqli_ston"])); 
      
    // On affiche le top 3 
      // J'ai passé ton code html en echo pour ne pas sortir du mode php puis y entrer à nouveau.
      
    echo '<div class="fh5co-pricing-style-2 row" style="width:100%;background-color:transparent;padding:0 0;">';
    echo '<div style="margin:0 auto;display:inline-block;padding:0 0 0 10px; text-align:center;">';
      while(
    $data mysqli_fetch_assoc($req)) 
      { 
        if (
    $data['rang'] == 1)
        {
       echo '<div class="or wow fadeInLeft" data-wow-duration="1s" data-wow-delay="1.6s"  style="float:none; display: inline-block;">';
           echo 
    '<img src="images/gold.svg" height="100em"></img>';
           echo 
    '<h3 class="pricing-title">1 er</h3>';
       echo '</BR>';
       echo '<div class="pricing-price timer" data-from="0" data-to="'.$data['Score'].'" data-speed="2000" data-refresh-interval="50" style="color:#F7B40A;font-size:320%"></div>';
       echo '</BR> </BR>';
       echo '<p class="pricing-sentence" style="font-size:200%">'.$data['Joueur'].'</p>';
       echo '</div>';
        }
        else if (
    $data['rang'] == 2)
        {
       echo '<div class="argent wow fadeInLeft" data-wow-duration="1s" data-wow-delay="1.3s"  style="float:none; display: inline-block;">';
       echo '<img src="images/silver.svg" height="100em"></img>';
       echo '<h3 class="pricing-title">2 eme</h3>'
       echo '</BR>';
       echo '<div class="pricing-price timer" data-from="0" data-to="'.$data['Score'].'" data-speed="2000" data-refresh-interval="50" style="color:#606060; font-size:240%"></div>';
           echo 
    '</BR> </BR>';
       echo '<p class="pricing-sentence" style="font-size:160%">'.$data['Joueur'].'</p>';
       echo '</div>';
        }
        else if (
    $data['rang'] == 3)
        {
       echo '<div class="bronze wow fadeInLeft" data-wow-duration="1s" data-wow-delay="1.1s" style="float:none; display: inline-block;">';
       echo '<img src="images/bronze.svg" height="100em"></img>';
       echo '<h3 class="pricing-title">3 eme</h3>';
       echo '</BR>';
     echo '<div class="pricing-price timer" data-from="0" data-to="'.$data[Score].'" data-speed="2000" data-refresh-interval="50" style="color:#A34902; font-size:180%"></div>';
       echo '</BR> </BR>';
       echo '<p class="pricing-sentence" style="font-size:130%">'.$data['Joueur'].'</p>';
       echo '</div>';
        }
      } 
      
      
    // on ferme la connexion a mysql 
      
    ((is_null($___mysqli_res mysqli_close($liendb))) ? false $___mysqli_res); 
      echo 
    '</div>';
    ?>


    Bon test.