Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2011, 15h10   #1
Membre à l'essai
 
Développeur Web
Inscription : novembre 2007
Messages : 65
Détails du profil
Informations personnelles :
Localisation : Tunisie

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : novembre 2007
Messages : 65
Points : 20
Points : 20
Envoyer un message via Skype™ à riadh8
Par défaut affichage en ajax

Salut, je viens de faire une base de données dans laquelle existe 2 tables : Rubrique et sous_rubrique, afin d'afficher toutes les sous rubriques liées à chaque rubrique.

Voici les champs de mes 2 tables:

rubrique(id, nom).
sous-rubrique(id, nom, id_rub) avec id_rub c'est l'identifiant de chaque rubrique.

Comment j'ai procédé ?

1- Récupérer l'id du rubrique en cliquant ci-dessus dans une variable last_id.
2- Envoyer cette variable avec $.ajax au même page (catégories.php).
3- les requêtes nécessaires.

Voici mon code:

Code php :
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
<?php
require('connect.php');
?>
<!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="en">
<link href="css/style.css" rel="stylesheet"/>
<head>
   <script src="js/jquery.js"></script>
   <script>
        $(document).ready(function() {
          $('.link').click(function(){
            $.ajax({
               type: 'GET',
               url: 'categories.php',
               data: 'last_id='+$(this).attr('id'),
 
               success: function(data){
                 $('#sousRubriques').html(data);
               };
            });
            }); 
        });
   </script>
</head>
<body>
    <div id="box">
    <div id="rubriques">
      <?php
      $req = $bdd->prepare('select * from rubrique');
      $req->execute();
      echo '<table class="categories">';
      while($data = $req->FETCH(PDO::FETCH_OBJ)):?>
            <tr> <td><img height=29; width=32; src="images/categories/<?php echo $data->id.'.png'?>" /></td> <td><p class="link" id="<?php echo $data->id;?>"><?php echo $data->nom; ?> </p></td> </tr>
      <?php endwhile;
      echo '</table>';
      $req->closeCursor();?>
    </div>
    <div id="sousRubriques">
      <?php
 
        if(!empty($_GET['last_id'])){
            $last_id = striptags($_GET['last_id']);
            $req = $bdd->prepare('SELECT * FROM sous_rubrique WHERE "id_rub" like :last_id');
            $req->execute(array(':last_id'=>$last_id));
             echo '<ul>';
             while($data = $req->FETCH(PDO::FETCH_OBJ)):?>
               <li><?php echo $data->nom;?></li>
             <?php endwhile;
             echo '</ul>';
             $req->closeCursor();
        }
        else{
            header('Location: categories.php');
        }
 
      ?>
    </div>
    <div style="clear:both;"></div>
    </div>
</body>
</html>

avec connect.php contenant le script (PDO) connectant au base de données.

L'erreur affiché:

Cette page Web présente une boucle de redirection.
La page Web à l'adresse http://127.0.0.1/test/categories.php a déclenché trop de redirections. Pour résoudre le problème, effacez les cookies de ce site ou autorisez les cookies tiers. Si le problème persiste, il peut être dû à une mauvaise configuration du serveur et n'être aucunement lié à votre ordinateur.
Voici quelques suggestions :
Reload this web page later.
En savoir plus sur ce problème.
Erreur 310 (net::ERR_TOO_MANY_REDIRECTS) : Trop de redirections

Svp aidez moi, et merci d'avance.
riadh8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 16h20   #2
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
A mon avis c'est ta redirection
Code :
header('Location: categories.php');
qui t'embête. Tu dois tomber dedans en permanence puisque tu testes si ta variable n'est pas vide, et qu'avec ta redirection, elle est toujours vide.

Ta page est à mon avis mal structurée également ... ton appel ajax est ta propre vue ...
Tu devrais faire une vue avec une liste déroulante pré-remplie par les rubriques et une action qui cherche les sous-rubriques lorsqu'on change de rubrique et qui peuple la deuxieme liste déroulante. Cette action serait un appel Ajax vers une autre méthode qui ne ferait QUE ça (te retourner les éléments de sous rubrique en fonction de la clé de la rubrique)
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h25.


 
 
 
 
Partenaires

Hébergement Web