IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Afficher cacher div en fonction de la valeur d'une variable


Sujet :

AJAX

  1. #1
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut Afficher cacher div en fonction de la valeur d'une variable
    Salut a tous,
    je vous préviens d'avant je suis une bille en ajax ,j’essaie de bricoler un truc avec des bouts de code glanées à droite et à gauche.

    je travail pour un back-office.
    pour faire simple, j'ai une table/bdd qui contient des images produits (10 images max par produit).
    quand je me trouve dans le formulaire de modification du produit, je peux supprimer des images de la fiche produit.
    j'ai donc également un champs pour uploader des images.
    code :
    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
    <form ...
    				<div class="form-group <?php echo $cacher; ?>" >				
    				<label for="laphoto" class="control-label"><i class=" icon-arrow-right5 "></i> Photo :</label><br />
    				<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
     
    				<input class="btn-custom" type="file" name="laphoto[]" id="laphoto" multiple = "multiple" title="<i class='icon-pictures'></i> Choisir des photos" />
     
    				</div>
    				</div>	
                    		<br /><br />
     
    				<?php
                    $ncreq = $mysqli->query("SELECT * FROM photovl WHERE id_vl = '$lidfiche'") or die("Erreur SQL0 !"); 
                                while($datanc = mysqli_fetch_array($ncreq)) 
                                {
                                $limage = $datanc['photo'];
                                $lidimage = $datanc['id'];
                                echo'<div class="col-xs-6 col-sm-6 col-md-3 col-lg-3 text-center rafrai'.$lidimage.'"><img height="60px" src="tccadm/vehicule/photos/min-'.$limage.'" alt="" /><br /><br />
                                <a id="'.$lidimage.'" class="delete btn btn-danger btn-xs" href="javascript:void(0);" role="button"><i class="icon-cross"></i>Supprimer</a><br /><br /></div>';
                                }
                    ?>
     
    <script type="text/javascript">
    $('a.delete').click(function(e){
     
        e.preventDefault();
        var id = $(this).attr('id');
        var parent = $(this).parent();
     
        $.ajax({
            type: "GET",
            url: "tccadm/vehicule/suppimgajax.php",
            data: 'id='+ id,
     
    			success: function(html)
    			{
    				$(".rafrai"+ id).html(html);
    			}        
        });
    });
    </script>
    ...</form>

    il faut que je trouve une solution pour que lorsque j'ai 10 images en bdd le champs input pour upload soit cacher.
    mais que si je supprime une image par exemple (script js), il y aura a ce moment la plus que 9 images donc (10-1=9), le champs ré-apparaissent pour pouvoir uploader une 10eme image à nouveau

    j'ai bien pensais fait cela en php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $str_requete = "SELECT * FROM photovl WHERE id_vl ='$lidfiche'";
    $o_result = $mysqli->query($str_requete);
    $nbLigne = mysqli_num_rows($o_result);
    $nbLignefinal = 10 - $nbLigne;
    if ($nbLignefinal == 0){
        $cacher = "invisible";
    }else{ $cacher = "";}
    le souci c'est que cela ne fonction pas lorsque je supprime une image, puisque je ne recharge pas la page avec JS.

    Si quelqu'un a une idée ou un bout de code je suis preneur .

    Cdt

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    Bonjour,
    A mon avis, tu peux compter les images en javascript (en jquery c'est facile) ( ces images vont se mettre à jours suite au modification renvoyés par ajax) , ensuite tu teste dans la fonction ajax et précisément dans le success si ce nombre est égal à 10 pour faire par exemple .hide(); pout ton bouton et si c'est inférieur tu fais tu fais .show();
    tout en préparant l'autre scénario pour ce bouton( le scénario une fois tu rafraîchis la page et sans ajax )

  3. #3
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Citation Envoyé par mehrezlabidimehrez Voir le message
    A mon avis, tu peux compter les images en javascript (en jquery c'est facile) ( ces images vont se mettre à jours suite au modification renvoyés par ajax)
    il faut que je fasse cela en JS donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $str_requete = "SELECT * FROM photovl WHERE id_vl ='$lidfiche'";
    $o_result = $mysqli->query($str_requete);
    $nbLigne = mysqli_num_rows($o_result);
    $nbLignefinal = 10 - $nbLigne;
    if ($nbLignefinal == 0){
        $cacher = "invisible";
    }else{ $cacher = "";}
    Pourquoi pas, tu peux me donner un bout de code parce que je vois pas comment faire

    Merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    pour compter le nombre d'image dans une div en jquery:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#some_id img").length
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $("#some_id > img").length
    je vois pas ce que tu cherche exactement, parceque la j'ai pas de solution prete pour toi, j'ai juste des propositions à developper

  5. #5
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Ok merci pour l'info.
    cela me parait un peu compliqué pour moi a développer.
    je vais laisser le truc en l'état ou trouver une autre solution.

    Merci
    Cdt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher des résultats en fonction d'une valeur de liste
    Par subnox dans le forum VBA Access
    Réponses: 13
    Dernier message: 14/08/2007, 12h54
  2. afficher cacher div
    Par calitom dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 06/03/2007, 12h35
  3. Réponses: 12
    Dernier message: 13/02/2007, 15h21
  4. afficher une image en fonction de la valeur d un champ
    Par zahiton dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2006, 17h22
  5. afficher / cacher div
    Par Cruelo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo