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écuperer valeur de cellule dans un tableau généré


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut Récuperer valeur de cellule dans un tableau généré
    Bonjour, je génère un tableau de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    while ($row2 = mysqli_fetch_array($result2)) {
    		echo '<tr>
    				<td>'.$row2['Line'].'</td>
    				<td>'.$row2['CSL'].'</td>
    				<td>'.$row2['NoType'].'</td>
    				<td>'.$row2['Coût'].'</td>
    				<td>'.$row2['Quantité'].'</td>
    				<td id="details"><img src="images/bar.png" onmouseover="mouseOver()" /></td>
    			</tr>';
    Je voudrais qu'au survol de la cellule id 'details', récupérer les valeurs des cellules <td>'.$row2['Line'].'</td>, <td>'.$row2['CSL'].'</td>.

    Le but du jeu étant par après d'afficher dans une info bulle une requête liée au valeur récupérées.

    Merci par avance pour votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Sois plus explicite:
    Je voudrais qu'au survol de la cellule id 'details', récupérer les valeurs des cellules <td>'.$row2['Line'].'</td>, <td>'.$row2['CSL'].'</td>.

    Le but du jeu étant par après d'afficher dans une info bulle une requête liée au valeur récupérées.
    Comment? plus d'explication.
    Pour un premier pas, t'aura besoin d'ajax et/ou du javascript et/ou du jquery.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/
    NON ! un id doit être UNIQUE ! (or, on est ici dans une boucle)

    Solution :

    2/ à priori, ça concerne JavaScript. Pas PHP.

    Et il suffit de transmettre l'id (index de la table, AUTO-INCREMENT) à la fonction mouseOver() :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo '
    				<td>'.$row2['Quantité'].'</td>
    				<td class="details"><img src="images/bar.png" onmouseover="mouseOver('.$row2['id'].')" /></td>
    ';
    Ensuite :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function mouseOver( id )
    {
       ...

    3/ 'coût', 'Quantité' :
    On ne met pas d'ACCENTS dans les noms de champ !
    C'est s'exposer à des problèmes....
    Dernière modification par Invité ; 08/06/2017 à 11h53.

  4. #4
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    J'avance mais je reste bloqué... J'ai intégré les 'class' pour chaque td désiré. Mais au survol je ne récupère qu'une cellule (coordonnées figées dans le code java...), je ne sais pas comment faire pour chaque ligne... Merci par avance

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    while ($row2 = mysqli_fetch_array($result2)) {
    		echo '<tr>
    				<td class="ligne">'.$row2['Line'].'</td>
    				<td class="cellule">'.$row2['CSL'].'</td>
    				<td class="Type">'.$row2['NoType'].'</td>
    				<td class="Cout">'.$row2['Cost'].'</td>
    				<td class="Qty">'.$row2['Quantity'].'</td>
    				<td class="details"><img src="images/bar.png" onmouseover="mouseOver();" /></td>
    			</tr>';
    												 }
    JAVASCRIPT:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script>function mouseOver() {
     
                    alert(document.getElementsByTagName('table')[0].getElementsByTagName('tr')[0].cells[1].innerHTML);
     
                }
    		</script>

  5. #5
    Invité
    Invité(e)
    Par défaut
    Lis les réponses jusqu'au bout...
    Je t'ai donné une solution.



    N.B. Ne confond pas Java et JavaScript.

  6. #6
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    Oui, mais je ne comprends pas...
    Du coup, je me créé un id pour chaque ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td id="'.$i++.'" class="details"><img src="images/bar.png" onmouseover="mouseOver();" /></td>
    Mais je ne sais pas comment le récupérer cette valeur en javascript...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script>
    function mouseOver() {	
    	var x = document.getElementsByClassName('ligne');
    	var y = document.getElementsByClassName('cellule');
    	var z = document.getElementsByClassName('Type');
    	alert(x[0].innerHTML+'|'+y[0].innerHTML+'|'+z[0].innerHTML);  //au lieu de x[0], il faudrait l'index de la ligne au survol.....
                }
    		</script>

  7. #7
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    J'ai trouvé, bon la méthode est pas très propre mais bon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $i=0;
    	while ($row2 = mysqli_fetch_array($result2)) {
    		echo '<tr>
    				<td class="ligne">'.$row2['Line'].'</td>
    				<td class="cellule">'.$row2['CSL'].'</td>
    				<td class="Type">'.$row2['NoType'].'</td>
    				<td class="Cout">'.$row2['Cost'].'</td>
    				<td class="Qty">'.$row2['Quantity'].'</td>
    				<td id="'.$i++.'" class="details"><img src="images/bar.png" onmouseover="mouseOver();" /></td>
    			</tr>';
    												 }
    ?>
    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
     
    <script>
    			onload = function (){
    				var TousLestd = document.getElementsByTagName('td');
    					for (var i=0; i<TousLestd.length; i++){
    						TousLestd.item(i).onmouseover = function (){
    							var x = document.getElementsByClassName('ligne');
    							var y = document.getElementsByClassName('cellule');
    							var z = document.getElementsByClassName('Type');
    							alert(x[this.id].innerHTML+'\r\n'+y[this.id].innerHTML+'\r\n'+z[this.id].innerHTML);
    														}
    																	}
    								}
    		</script>

  8. #8
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Content pour toi. Fais donc passer la discussion à résolue.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/08/2015, 16h07
  2. Réponses: 1
    Dernier message: 22/02/2015, 23h38
  3. [Excel/VBA] Récuperer cellule dans un tableau
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2007, 09h20
  4. Réponses: 2
    Dernier message: 23/11/2003, 18h44

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