Ajax et requete PDO
Voilà j'aimerais que ma requete SELECT s'actualise régulièrement sans avoir à rafraichir la page, j'ai cru comprendre qu'il fallait utiliser la méthode AJAX.
Faut que je me tape tout un tuto où vous avez une petite solution très simple amis chouals?
<?php
$reponse = $bdd->query("SELECT videoid FROM brotracks ORDER BY score DESC LIMIT 1 ");
?>
ci dessus ma requete que j'aimerai voir s'actualiser régulièrement pour que ma variable $reponse sois mise à jour régulièrement.
c'est pas très compréhensible ce que tu veux. Ajax c'est du JS, qui va demander au serveur ce que tu souhaites et modifier la page en conséquence (donc en JS) sans avoir besoin de recharger toute la page.
@Myosotys: Hum c'est surement car je sais pas comment faire mais ce que je veux c'est récupérer l 'id de la vidéo qui a le meilleur score dans une bdd mais sans recharger la page.
@Myosotys: un événement sur fin de timer en JS pour rafraîchir la page par exemple ? (je ne connais rien au dev web mais c'est ce que je ferai)
@laric: utilise jquery pour faire simple. Un truc du style:
$.get("idvideo.php", function(data, status){
alert("Data: " + data);
});
tu fais ton php pour retourner la liste que tu veux (en json c'est le plus simple), et tu auras dans la variable data, ton json
@Myosotys: j'ai vu beaucoup de forum parler de ça, t'as pas un tuto que je pourrais suivre car json ça ne me parle pas
edit: merci pour ton aide en tout cas.
@laric: comme ça, non.
C'est juste un format de données json, php a surement pleins des librairies pour transformer en json (je ne fais pas de php), c'est devenu presque indispensable le json, c'est ce format là par exemple: [{id:"1",nom:"video 1"},{id:"2",nom:"video2"}]
Si tu utilises jquery, rien de plus simple
Tu créées un fichier php avec ton instruction
<?php
$reponse = $bdd->query("SELECT videoid FROM brotracks ORDER BY score DESC LIMIT 1 ");
echo $reponse;
?>
dans le fichier JS de la page où tu veux faire apparaître le résultat tu fais une fonction qui boucle
$(document).ready(function() {
loop();
});
function loop(){
// ICI ON SET LE LOOP : 1000 = 1 seconde
setTimeout('loop();',20000); //donc là appel toutes les 20 secondes
$("#id_du_truc_ou_tu_met_ta_requete").load("url_du_machin_a_charger.php");
}
Quand tu parles de select tu parles bien d'un :
<select id="monSelect"><option></option></select>
?
Tu utilises Jquery ?
@laric: Ha d'accord.
Alors c'est assez simple.
1) Tu créé une page php qui execute la requête et qui retourne le résultat.
2) Dans la page html tu créé un script javascript qui pourrait ressembler à ça :
https://bpaste.net/show/08b8c9371680
En gros je te donne les fonctions qui faut utiliser, je te laisse soigner le script. genre tu peux passé bien plus de paramètre à la méthode Ajax.
Je te laisse les découvrir ici http://api.jquery.com/jquery.ajax/ ou là http://openclassrooms.com/courses/un-site-web-dynamique-avec-jquery/le-fonctionnement-de-ajax
@laric: Je me suis trompé par contre le fichier php ne fait pas un return résultat, mais un echo "résultat"
Tu ne dois accéder à ce site que si tu as au moins 18 ans ou si tu as l'âge légal pour visionner ce type de matériel dans ta juridiction locale, l’âge le plus élevé étant retenu. En outre, tu déclares et garantis que tu ne permettras aucun mineur à d'accéder à ce site ou à ces services.
En accédant à ce site, tu acceptes nos conditions d'utilisation.