Voila je voudrais savoir si il étais possible de rafraîchir une partie d'une page, car j'ai une div que je ne veux pas rafraichir.
Pouvez vous m'aider ?
Merci d'avance
Voila je voudrais savoir si il étais possible de rafraîchir une partie d'une page, car j'ai une div que je ne veux pas rafraichir.
Pouvez vous m'aider ?
Merci d'avance
tout dépend de ce que tu entends vraiment par rafraichir ...
si tu pense à un passage par le serveur je ne vois que deux possibilités
une bidouille qui consisterait à passer par un form qui ouvrirait un popup temporaire... (ben quoi j'ai dit bidouille ...)
la solution la plus "propre" étant ajax
sinon php ...
enf ait j'ai une liste de contact qui contiennent des mails et je peux cliquer dessus et ça ouvre un "popup" qui est une div.
Ma liste de contact affiche par tranche de 15 contacts et dès que je vais au 15 suivant et que j'ai déjà sélectionné des mails précédemment mais mon "popup" se rafraichit avec la page et je n'ai plus de mails dans ma liste, elle recommence à zéro
alors je voudrais que ma div ne se raffraichissement pas
et comment faire avec Ajax car je ne connais pas
tiens ça me rappelle quelquechose ...
ta div est bien renseignée à partir d'une variable...
il faut passer cette variable dasn le lien afin de renseigner à nouveau le div
peux tu me donner la syntaxe s'il te plait si c'est possible ?
ajax c'est un peu plus compliqué que ça ...
tu peux me refiler le code stp ...
un simple passage de la varibale en paramètre devrait suffir ..;
montre moi le code html/javascript je devrais pouvoir t'orienter ..
Code Javascript
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 function addToList(Email){ var Mypop= document.getElementById('mypop') switch (true){ case (Mypop.style.display=='none'): var dest=document.createElement("select"); dest.id='destinataires'; dest.size='10'; dest.style.width='220px' if(!Mypop.document.getElementById('destinataires')){ Mypop.appendChild(dest); Mypop.appendChild(document.createElement('br')); } //le bouton de suppression mailsup=document.createElement('input'); mailsup.id='suppression'; mailsup.type='button'; mailsup.value='supprimer'; if(!Mypop.document.getElementById('suppression')){ mailsup.onclick=function(){if(dest.options[dest.selectedIndex].value != 0){ dest.options[dest.selectedIndex] = null;}}; Mypop.appendChild(mailsup); } //le bouton d'envoi mailbut=document.createElement('input'); mailbut.id='envoie'; mailbut.type='button'; mailbut.value='envoyer'; if(!Mypop.document.getElementById('envoie')){ mailbut.onclick=function(){ var mailingList = ""; for(i=0;i<document.getElementById('destinataires').length;i++){ mailingList = mailingList + document.getElementById('destinataires').options[i].value + ','; } mail = 'mailto:'+ mailingList; window.location.href = mail; Mypop.style.display='none' document.getElementById('destinataires').options.length = 0;}; Mypop.appendChild(mailbut); } Mypop.style.display='block'; case !(Mypop.style.display=='none'): var newDest=document.createElement('option') newDest.value=Email; newDest.innerHTML=Email; document.getElementById('destinataires').appendChild(newDest); } }
Code php
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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" dir="ltr"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="CSS/style.css" media="screen" /> <script src="libraries/pop.js" type='text/javascript'></script> </head> <body> <div id='mypop' style="position:absolute; top:400px; left:10px; border:solid 2px blue; z-index:10; display:none; height:200px; width:240px; overflow:auto;"></div> <div class="contenu"> <?php echo '<h2>Liste des '.$table.'</h2> <table> <tr class="titre"> <th>Société</th> <th>Nom</th> <th>Email</th> </tr>'."\n"; for ($i = 0; $i < count($result); $i++)//boucle qui parcours le tableau { echo '<tr><td>'.$result[$i]->$socnom.'</td>'."\n\t"; echo '<td>'.$result[$i]->$nom.'</td>'."\n\t"; if($result[$i]->$mail) echo '<td class="email" onclick="addToList(this.innerHTML)">'.$result[$i]->$mail.'</td>'."\n\t"; else echo '<td class="email">'.$result[$i]->$mail.'</td>'."\n\t"; echo '<td>'.$result[$i]->$adr.'</td>'."\n\t"; echo '</tr>'."\n"; } echo '</table><br />'; // Système pour la navigation $req = "select count($id) as max from $table"; //Requete qui recupère le nombre de client $res = $connexion->select($req); $connexion->close(); //Fermeture de la connexion $max = $res[0]->max; $max = $max - $nb; if(($depart != 0) AND ($depart >= $max)) // Si la variable depart > au resultat de la requete on n'affiche pas la fleche suivante { $precedent = $depart - $nb; echo '<br /><a class="menu" href="Contacts.php?recherche='.$search.'&depart='.$precedent.'"><img src="Images/gauche.png" alt="precedent" /></a>'."\t".' <a class="menu" href="index.php"><img src="Images/haut.png" alt="Menu" /></a>'."\t"; } else { if(($depart != 0) AND ($depart < $max)) { $precedent = $depart - $nb; echo '<br /><a class="menu" href="Contacts.php?recherche='.$search.'&contact='.$contact.'&depart='.$precedent.'"><img src="Images/gauche.png" alt="precedent" /></a>'."\t".' <a class="menu" href="index.php"><img src="Images/haut.png" alt="Menu" /></a>'."\t"; $suivant = $depart + $nb; echo '<a class="menu" href="Contacts.php?recherche='.$search.'&contact='.$contact.'&depart='.$suivant.'"><img src="Images/droite.png" alt="suivant" /></a>'; } else { echo '<br /><a class="menu" href="index.php"><img src="Images/haut.png" alt="Menu" /></a>'."\t"; $suivant = $depart + $nb; echo '<a class="menu" href="Contacts.php?recherche='.$search.'&contact='.$contact.'&depart='.$suivant.'"><img src="Images/droite.png" alt="suivant" /></a><br />'; } } } else { // Si l'utilisateur n'est pas connecte, on affiche le panneau de connexion form_login(); } foot(); // Appel de la fonction foot() pour afficher le pied de page ?>
l'idée serait de passer la liste dans une variable dans l'url, puis de lancer la fonction de population dans le onload de la page ...
ou encore de recupere la liste coté php ...
j'ai pas le temps tout de suite ...
AJAX me semble être une bonne idée pour rafraichir une aprtie de page seulement. L'idée étant de lancer par javascript une requête au serveur, qui va te renvoyer les données voulues à coller à un endroit défini sans recharger pour autant la page. Plus d'infos ici.
La solution complémentaire étant de rafraichir la page, mais en transmettant au passage l'endroit où tu te situes dans ta liste (genre position de départ), afin de gérer correctement l'affichage... Si tu récupère tes données à partir d'une requête SQL, tu peux afficher le bon endroit à l'aide de la clause LIMIT...
ok pour vous c'est facil Ajax mais quand tu y connais rien !!!
Si quelqu'un peut m'aider si c'est possible
est ce que tu es allé lire les tutos ? en particulier celui-ci ?
Tu as toujours la solution de passer par ton SQL en transmettant la variable sinon ...
Oui je l'ai lu le tuto mais j'y comprend pas grand choseEnvoyé par titoumimi
Et c'est quoi la solution de passer par le SQL ça veut dire quoi ?
je t'ai dit que si tu générait ta liste à partir d'une requête SQL, tu pouvait t'arranger à l'aide de la clause limit pour n'afficher que ce que tu voulait, et qu'une simple variable transmise de page en page te permettrai de garder toujours ta bonne position.
Après, je me suis pas tapé ton code, pas trop de temps ce matin ...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager