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

Langage PHP Discussion :

Récupérer id d'une boucle


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    ---
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ---

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Récupérer id d'une boucle
    Bonjour,

    Dans le cadre de mon forum, je cherche à installer une fonction de signalement d'un message
    lorsque celui-ci va à l'encontre des CGU.
    Le bouton "Signaler" apparaît donc sur chaque message du sujet.

    Lorsque le membre clique sur "Signaler", un pop-up s'affiche reprenant en citation le message qui fait défaut.

    Le problème est que je n'arrive pas à récupérer le message.
    Comme les messages sont issus d'une boucle while, je pense devoir utiliser un id unique pour chaque message.
    Cependant, je ne sais pas la méthode à employer.

    Pourriez-vous me fournir une petite aide svp ?

    Merci d'avance.

    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
     
    <?php 
    $bdd->query("SET NAMES 'UTF8', lc_time_names = 'fr_FR'");
    $req = $bdd->prepare("SELECT id,pseudo,message,DATE_FORMAT(datemessage, '%a %d %b %Y à %Hh%i') AS datepublication,forum FROM forummessages WHERE forum = :forum AND titre = :titre LIMIT $start, $epp");
    $array = array
    (
    'forum' => $_GET['c'],
    'titre' => utf8_encode($titre)
    );
    $req->execute($array);
    foreach ($req as $donnee):
    ?>
     
    <!-------Signaler un message------>		
    	<?php if(isset($_SESSION['pseudo'])&&($donnee['pseudo']!=($_SESSION['pseudo']))){ ?>
    	<div class="formulaire_signaler_message">
    		<label>Signaler ce message</label>
    	</div>
    	<?php } ?>
     
    <?php endforeach; ?>
     
    <!--Pop-up-->
     
    <div class="masque"></div>
    <div class="popup"><div class="close"></div>
     
    	<p>Vous souhaitez signaler le message suivant :</p> 
    		<div class="citation">
                    <!--Message à cité (càd $donnee['message'])-->
                    Blablabla	
    		</div></div>	
     
    <!--Code jQuery->

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Il suffit de placer l'id de chaque message dans un attribut de ton bouton et de le récupérer lors du click avec javascript/Jquery.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est du Javascript qu'il te faut là. Tu ne vas pas recopier tous les messages dans des div masquées.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Candidat au Club
    Homme Profil pro
    ---
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ---

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <label class="button" id="<?php echo $donnee['message']?>">Signaler ce message</label>
    <div class="citation"></div>
    Yes, j'avais essayé ceci. Mais sans grand succès =/*

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script>
     
    $('.button').click(function() {
     
    var id = $(this).attr('id');
     
    $('#'+id+' .citation').css('display','block');
     
    });
    </script>

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 26
    Points : 43
    Points
    43
    Par défaut
    Pourquoi ne pas essayer d'encapsuler chaque message dans une DIV avec un ID unique.

    Et au clic sur le bouton de signalement ouvrir rune modale qui reprendrait simplement le HTML de la DIV qui encapsule le message.

    J'imaginerais un truc du genre (pas testé du tout...):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div id="message_<?php echo $lId ?>" >Ici le message du forum à signaler</div>
    <input type="button" onclick="openModale(<?php echo $lId ?>)" />
     
    <div id="modale"></div>
    La fonction javascript openModale() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function openModale(pId){
    $('#modale').html($('#message_'+pId).val());
    }
    La méthode openModale est bien entendu à modifier pour faire apparaîtrr sous forme d'une fenêtre modale
    Construction d'une piscine : http://www.construire-sa-piscine.com
    Livraison de fleurs pour particulier : http://www.fleurs-en-gros.com

Discussions similaires

  1. récupérer données d'une boucle
    Par ballantine's dans le forum Langage
    Réponses: 17
    Dernier message: 02/11/2009, 18h09
  2. [Tableaux] récupérer les variables d'une boucle
    Par abdelmajid_daosabah dans le forum Langage
    Réponses: 6
    Dernier message: 24/04/2007, 01h55
  3. [Smarty] Récupérer l'index d'une boucle
    Par Mister Nono dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 19/03/2007, 18h01
  4. [AJAX] Récupérer une boucle en php ?
    Par artotal dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/01/2007, 00h31
  5. [DOS] Boucle FOR : récupérer %%i dans une variable
    Par Pomalaix dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 06/12/2005, 16h18

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