[RESOLU] Execution BDD > PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Execution BDD > PHP

Re: Execution BDD > PHP

par or 1 » 17 août 2020, 13:27

oui
dans death_note_script.php il y a un select et le parcours de ses résultats.

Re: Execution BDD > PHP

par Xotaz » 17 août 2020, 11:18

Me revoilà après avoir essayer plusieurs méthode maintenant que tout est nickel il me reste un seul point qui me semble pas bien compliqué mais sa me fait pleins d'erreurs.. Je vous montre et vous expliques.

death_note.php

Code : Tout sélectionner

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="shortcut icon" href="images/favicon.png" /> <link rel="shortcut icon" href="../images/favicon.png" /> <link rel="shortcut icon" href="../../images/favicon.png" /> <link rel="stylesheet" href="style/home.css"> <link rel="stylesheet" href="../style/home.css"> <link rel="stylesheet" href="../../style/home.css"> <script type="text/javascript" src="../style/sous_menu.js"></script> <script type="text/javascript" src="death_note.js"></script> <title>Test</title> </head> <div id="menu" > <ul> <li><a href="../index.php">Home</a></li> <li><a class="active" href="../animes.php">Animés</a></li> <li><a href="../films.php">Films</a></li> <li><a href="../series.php">Séries</a></li> <li><a href="#forum">Forum</a></li> <li style="float:right"><a class="active" href="../about.php">À Propos</a></li> </ul> </div> <body onselectstart="return false" oncontextmenu="return false" ondragstart="return false" onMouseOver="window.status='..message perso .. '; return true;" > <div class="container"> <div id="sidebar"> <h3>Nouveautés</h3> <p> <font color="GREEN">- Menu Saison ✔ [10.08.20]</font><br /> <font color="ORANGE">- Reprise du site ✔ [08.08.20]</font><br /> <font color="RED">- Site en Construction ✘ [29.12.18]</font> </p> </div> <center><img class="Logo" src="../images/logo.png" style="width: 30%; height: auto;" /></center> <center> <div id="menuT2"> <img class="Logo" src="../images/animes/Logo_Death_Note.png" style="width: 100%; height: auto;" /> <br /> <div id="menu69"> <div class="menu69" id="menu1" onclick="afficheMenu(this)"> <a href="#"><font size="4" color="#fff">Saison 1</font></a> </div> <div id="sousmenu1" style="display:none"> <br/> <select onchange='Vid(this.value)'> <option value=''>Choisir</option> <option value='01'>Episode 01</option> <option value='02'>Episode 02</option> <option value='03'>Episode 03</option> <option value='04'>Episode 04</option> <option value='05'>Episode 05</option> <option value='06'>Episode 06</option> <option value='07'>Episode 07</option> <option value='08'>Episode 08</option> <option value='09'>Episode 09</option> <option value='10'>Episode 10</option> <option value='11'>Episode 11</option> <option value='12'>Episode 12</option> <option value='13'>Episode 13</option> <option value='14'>Episode 14</option> <option value='15'>Episode 15</option> <option value='16'>Episode 16</option> <option value='17'>Episode 17</option> <option value='18'>Episode 18</option> <option value='19'>Episode 19</option> <option value='20'>Episode 20</option> <option value='21'>Episode 21</option> <option value='22'>Episode 22</option> <option value='23'>Episode 23</option> <option value='24'>Episode 24</option> <option value='25'>Episode 25</option> <option value='26'>Episode 26</option> <option value='27'>Episode 27</option> <option value='28'>Episode 28</option> <option value='29'>Episode 29</option> <option value='30'>Episode 30</option> <option value='31'>Episode 31</option> <option value='32'>Episode 32</option> <option value='33'>Episode 33</option> <option value='34'>Episode 34</option> <option value='35'>Episode 35</option> <option value='36'>Episode 36</option> <option value='37'>Episode 37</option> </select> <br/><br/> </div> </div> <br> </div> </center> </div> <div id="main"> <center> <div id="txtHint"><h2>Séléctionner un épisode dans la liste de Gauche</h2><br/> <img style="width: 40%; height: auto; border-color:#ffffff;" border="3" src="../images/animes/Death_Note.jpg" /> </div> </center> </div> <div id="footer" > - © Copyright 2020 - Aucun droit réservé - </div> </body> </html>

death_note.js

Code : Tout sélectionner

function Vid(str) { if (str == "") { document.getElementById("txtHint").innerHTML = ""; return; } else { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("txtHint").innerHTML = this.responseText; } }; xmlhttp.open("GET","death_note_script.php?q="+str,true); xmlhttp.send(); } }

death_note_script.php

Code : Tout sélectionner

<?php header("Content-Type: text/html; charset=utf-8"); $q = intval($_GET['q']); $con = mysqli_connect('localhost','root',''); if (!$con) { die('Could not connect: ' . mysqli_error($con)); } mysqli_select_db($con,"anime"); $sql="SELECT * FROM death_note WHERE EP = '".$q."'"; $result = mysqli_query($con,$sql); while($row = mysqli_fetch_array($result)) { echo '<font FACE="Arial, Helvetica, sans-serif" size="5">Episode '. $row['EP'].' ~ '. $row['Titre'].'</font><br/>'; echo "<br>" . $row['Video'] . "<br>"; } mysqli_close($con); ?>

sous_menu.js

Code : Tout sélectionner

function afficheMenu(obj){ var idMenu = obj.id; var idSousMenu = 'sous' + idMenu; var sousMenu = document.getElementById(idSousMenu); for(var i = 1; i <= 4; i++){ if(document.getElementById('sousmenu' + i) && document.getElementById('sousmenu' + i) != sousMenu){ document.getElementById('sousmenu' + i).style.display = "none"; } } if(sousMenu){ //alert(sousMenu.style.display); if(sousMenu.style.display == "block"){ sousMenu.style.display = "none"; } else{ sousMenu.style.display = "block"; } } }

Y aurai une possiblité dans le sous_menu de selectionner tout les episodes dans la BDD au lieu d'ajouter un à un les episodes.

Code : Tout sélectionner

<div id="menu69"> <div class="menu69" id="menu1" onclick="afficheMenu(this)"> <a href="#"><font size="4" color="#fff">Saison 1</font></a> </div> <div id="sousmenu1" style="display:none"> <br/> <select onchange='Vid(this.value)'> <option value=''>Choisir</option> <option value='01'>Episode 01</option> <option value='02'>Episode 02</option> <option value='03'>Episode 03</option> <option value='04'>Episode 04</option> <option value='05'>Episode 05</option> <option value='06'>Episode 06</option> <option value='07'>Episode 07</option> <option value='08'>Episode 08</option> <option value='09'>Episode 09</option> <option value='10'>Episode 10</option> <option value='11'>Episode 11</option> <option value='12'>Episode 12</option> <option value='13'>Episode 13</option> <option value='14'>Episode 14</option> <option value='15'>Episode 15</option> <option value='16'>Episode 16</option> <option value='17'>Episode 17</option> <option value='18'>Episode 18</option> <option value='19'>Episode 19</option> <option value='20'>Episode 20</option> <option value='21'>Episode 21</option> <option value='22'>Episode 22</option> <option value='23'>Episode 23</option> <option value='24'>Episode 24</option> <option value='25'>Episode 25</option> <option value='26'>Episode 26</option> <option value='27'>Episode 27</option> <option value='28'>Episode 28</option> <option value='29'>Episode 29</option> <option value='30'>Episode 30</option> <option value='31'>Episode 31</option> <option value='32'>Episode 32</option> <option value='33'>Episode 33</option> <option value='34'>Episode 34</option> <option value='35'>Episode 35</option> <option value='36'>Episode 36</option> <option value='37'>Episode 37</option> </select> <br/><br/> </div> </div>
Merci à vous, Cordialement

Re: Execution BDD > PHP

par Spols » 11 août 2020, 16:10

tu peux le faire sans ajax aussi. c'est plus simple pour un débutant et tu pourras toujours amèliorer ensuite

essaye d'imaginer une page php unique qui prends en paramètre le numéro de l'épisode
page.php?episode=3
tu peux donc récupèrer ce 3 avec $_GET['episode'] et donc récupèrer de ta bdd ce qu'il te faut et l'afficher
tous les autres liens vers les autres épisodes peuvent pointer vetrs la même page en modifiant juste la valeur de episode.

Re: Execution BDD > PHP

par Xotaz » 09 août 2020, 22:42

il faut s'inspirer du dernier exemple de https://api.jquery.com/jQuery.get/
il faut commencer par faire un script php qui récupérer le numéro de l'épisode et retourne les données en json.
ensuite, appeler ce script php avec jquery au bon moment, récuperer les données à afficher du json, en faire quelque chose dans la page html.
Ah oui.. faudrait être caler en javascript du coup :shock:
Je vais voir mais pas sur de gagner merci quand même d'avoir pris le temps de me répondre. :)

Re: Execution BDD > PHP

par or 1 » 09 août 2020, 22:25

il faut s'inspirer du dernier exemple de https://api.jquery.com/jQuery.get/
il faut commencer par faire un script php qui récupére le numéro de l'épisode et retourne les données en json.
ensuite, appeler ce script php avec jquery au bon moment, récuperer les données à afficher du json, en faire quelque chose dans la page html.

Execution BDD > PHP

par Xotaz » 09 août 2020, 18:54

Bonjour tout le monde je viens vous présenter mon problème.

Code : Tout sélectionner

<?php include("../../header.php"); ?> <div id="menu" > <ul> <li><a href="../../index.php">Home</a></li> <li><a class="active" href="../../animes.php">Animés</a></li> <li><a href="../../films.php">Films</a></li> <li><a href="../../series.php">Séries</a></li> <li><a href="#forum">Forum</a></li> <li style="float:right"><a class="active" href="#about">À Propos</a></li> </ul> </div> <body onselectstart="return false" oncontextmenu="return false" ondragstart="return false" onMouseOver="window.status='..message perso .. '; return true;" > <div class="container"> <?php include("../../sidebar.php"); ?> <center><img class="Logo" src="../../images/logo.png" alt="Le Monde de Yannick" style="width: 30%; height: auto;" /></center> <center> <div id="menuT2"> <img class="Logo" src="../../images/animes/Logo_Death_Note.png" alt="Le Monde de Yannick" style="width: 100%; height: auto;" /> <br /> <div id="menu69"> <div class="menu69" id="menu1" onclick="afficheMenu(this)"> <a href="#"><font size="4" color="#fff">Saison 1</font></a> </div> <div id="sousmenu1" style="display:none"> <div name="EP" id="EP" onchange="Change()"> <div class="sousmenu"> <a href="" <?php echo "value=".$donnees['EP'].">" ?>Episode 01</a></div> <div class="sousmenu"> <a href="" value="02">Episode 02</a></div> <div class="sousmenu"> <a href="" value="03">Episode 03</a></div> <div class="sousmenu"> <a href="" value="04">Episode 04</a></div> <div class="sousmenu"> <a href="" value="05">Episode 05</a></div> <div class="sousmenu"> <a href="" value="06">Episode 06</a></div> <div class="sousmenu"> <a href="" value="07">Episode 07</a></div> <div class="sousmenu"> <a href="" value="08">Episode 08</a></div> <div class="sousmenu"> <a href="" value="09">Episode 09</a></div> <div class="sousmenu"> <a href="" value="10">Episode 10</a></div> <div class="sousmenu"> <a href="" value="11">Episode 11</a></div> <div class="sousmenu"> <a href="" value="12">Episode 12</a></div> <div class="sousmenu"> <a href="" value="13">Episode 13</a></div> <div class="sousmenu"> <a href="" value="14">Episode 14</a></div> <div class="sousmenu"> <a href="" value="15">Episode 15</a></div> <div class="sousmenu"> <a href="" value="16">Episode 16</a></div> <div class="sousmenu"> <a href="" value="17">Episode 17</a></div> <div class="sousmenu"> <a href="" value="18">Episode 18</a></div> <div class="sousmenu"> <a href="" value="19">Episode 19</a></div> <div class="sousmenu"> <a href="" value="20">Episode 20</a></div> <div class="sousmenu"> <a href="" value="21">Episode 21</a></div> <div class="sousmenu"> <a href="" value="22">Episode 22</a></div> <div class="sousmenu"> <a href="" value="23">Episode 23</a></div> <div class="sousmenu"> <a href="" value="24">Episode 24</a></div> <div class="sousmenu"> <a href="" value="25">Episode 25</a></div> <div class="sousmenu"> <a href="" value="26">Episode 26</a></div> <div class="sousmenu"> <a href="" value="27">Episode 27</a></div> <div class="sousmenu"> <a href="" value="28">Episode 28</a></div> <div class="sousmenu"> <a href="" value="29">Episode 29</a></div> <div class="sousmenu"> <a href="" value="30">Episode 30</a></div> <div class="sousmenu"> <a href="" value="31">Episode 31</a></div> <div class="sousmenu"> <a href="" value="32">Episode 32</a></div> <div class="sousmenu"> <a href="" value="33">Episode 33</a></div> <div class="sousmenu"> <a href="" value="34">Episode 34</a></div> <div class="sousmenu"> <a href="" value="35">Episode 35</a></div> <div class="sousmenu"> <a href="" value="36">Episode 36</a></div> <div class="sousmenu"> <a href="" value="37">Episode 37</a></div> </div> </div> </div><br> </div> </div> <div id="main"> <?php try { $base = new PDO('mysql:host=localhost; dbname=anime', 'root', ''); } catch(exception $e) { die('Erreur '.$e->getMessage()); } $base->exec("SET CHARACTER SET utf8"); $retour = $base->query('SELECT * FROM death_note WHERE EP ="01"'); while ($data = $retour->fetch()) { echo '<font FACE="Arial, Helvetica, sans-serif" size="5">Episode '. $data['EP'].' ~ '. $data['Titre'].'</font><br/><br/>'; echo $data['Video'].'<br/>'; } $base = null; ?> </center> </div> </div> <?php include("../../footer.php"); ?> </body> </html>

Comme vous voyez sur le code, j'aimerai que lorsqu'on clique sur Épisode 1 sa change le Titre et la vidéo sur la même page.

Je suis encore un novice.. On m'a parler d'AJAX mais je vois pas comment l'introduire.
J'aimerai éviter de créer 500 Pages PHP pour chaque épisode.

La BDD est construite comme ceci:

Code : Tout sélectionner

CREATE TABLE `death_note` ( `Saison` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL, `EP` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL, `Titre` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL, `Video` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL, `Date` datetime(0) NULL DEFAULT NULL ) ENGINE = MyISAM CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
Si une âme charitable peux me guider sa serai avec grand plaisir de vous écouter :)
Merci d'avoir pris le temps de lire mon message.

Cordialement,

EDIT: je comprend bien que j'ai mis WHERE EP="1". C'était juste pour éviter d'avoir toutes les entrer d'un coup :wink: