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

PHP & Base de données Discussion :

Selectionner des lignes dans un tableau


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut Selectionner des lignes dans un tableau
    Bonjour,
    je bien trop cherché dans les forums pour une solution à mon problème mais aucune des propositions ne me conviennent.
    j'ai un tableau alimenté par une table dans la base de données
    sur chaque ligne de ce tableau j'ai mis des checkbox pour pouvoir selectionner qlq lignes et après un click sur un bouton submit, je veux envoyer les lignes selectionnées dans un autre tableau que je veux imprimer.
    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 224
    Points
    8 224
    Billets dans le blog
    17
    Par défaut
    Tu bloques où exactement ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Points : 238
    Points
    238
    Par défaut
    salut

    d'abord les données que tu affiches doivent etre dans un formulaire

    chaque ligne doitavoir des input aux nom differents mais dépendant de ton ID par exemple :

    tes chekboxs dans ton formulaire contiennent la valeur id
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<td><input type=\"checkbox\" name=\"checkbox[]\" value=\"$id\"></td>";
    après chaque checkbox viennent les autres inputs mais dont le nom va dépendre de l'ID en cours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $N_blabla="N_blabla"."_$id";
    echo "<td ><input name=\"$N_blabla\" value=\"$blabla\">";
    là tu est sur que pour chaque ligne tu as une checkbox contenant le ID et chaque input identifié par un nom suivie de _ID

    maintenant dans ta page de traitement qui va récupérer uniquement les donnée cochés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach ($_POST['checkbox'] as $checkbox){
     
    $N_blabla="N_blabla_"."$checkbox";
    $N_blabla_posted= $_POST[$N_blabla];
    et là tu va récupérer les input de chaque ligne et les manipuler à ton aise
    .
    . . Savoir, savoir faire, faire , faire savoir...

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    merci pour la réponse, mais j'ai pas bien compris sa:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $N_blabla="N_blabla"."_$id";
    echo "<td ><input name=\"$N_blabla\" value=\"$blabla\">";

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Points : 238
    Points
    238
    Par défaut
    supposons que ta tables est ainsi

    id, nom, prenom

    chaque nom tu l'affiche dans une input correspondant à son id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    while (ton_fetch){
    echo "<td><input type=\"checkbox\" name=\"checkbox[]\" value=\"$id\"></td>";
    $N_nom="N_nom"."_$id";
    echo "<td ><input name=\"$N_nom\" value=\"$nom\">";
     
    $N_prenom="N_prenom"."_$id";
    echo "<td ><input name=\"$N_prenom\" value=\"$prenom\">";
     
    }
    tu auras autant d'input que de ligne venant de ta requête, dont chacun est repéré par l'id de ton enregistrement, ainsi tu pourras le traiter dans ta page affichage connaissant à quel checkbox sélectionné il est associé
    .
    . . Savoir, savoir faire, faire , faire savoir...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    peux-tu préciser ta question, et donner plus de détails :
    - ton code actuel ?
    - structure des tables en base de données (au moins, savoir si tu as un id auto-incrémenté)
    - ... ( + tout ce qui peut aider à... t'aider)

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    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
    82
    83
    84
    85
    86
    <div id="octogonal" style="display:none" >
    		<table border=0>
    		<tr align="center">
    			<th></th>
    			<th></th>
    			<th bgcolor=#b3b3b3><font size=2>diamètre revêtement snd</font></th >
    			<th bgcolor=#b3b3b3><font size=2>diamètre revêtement primaire</font></th >
    			<th bgcolor=#b3b3b3><font size=2>excentricité fibre/snd</font></th >
    			<th bgcolor=#b3b3b3><font size=2>excentricité fibre/prim</font></th >
    			<th bgcolor=#b3b3b3><font size=2>diamètre grand axe</font></th>
    			<th bgcolor=#b3b3b3><font size=2>diamètre petit axe</font></th>
    			<th bgcolor=#b3b3b3><font size=2>excentricité coeur/gaine</font></th>
    			<th bgcolor=#b3b3b3><font size=2>OK/NOK</font></th>
    			<th></th>
    		<tr>
    <?php
    	include('bdd/connection.php');
    	$disabled = ' disabled';
     
    	if($_SESSION['baseFibre'] >= 2) $disabled = '';
     
    	if(isset($_POST['valider'])) {
    		if($_POST['valider'] == "edit") modifmesureOctogonal();
    	}
     
    		$precpointA = '';
    		$cmp = 0;
     
    		$query = 'SELECT `no_tambour`, `no_carac`, `pointA`, `pointB` FROM `caracterisation`';
    		$query .= ' WHERE `label_banc`=\''.$_SESSION['label_banc'].'\'';
    		$query .= ' AND `numeropref`=\''.$_SESSION['numeropref'].'\'';
    		$query .= ' AND `morceau_val`=\''.$_SESSION['morceau_val'].'\'';
    		$query .= ' AND `morceau_fib`=\''.$_SESSION['morceau_fib'].'\'';
    		if($_SESSION['no_tambour'] != "tous") $query .= ' AND `no_tambour`=\''.$_SESSION['no_tambour'].'\'';
    		$query .= ' ORDER BY `no_tambour`, `indexcarac`';
     
    		$resultat = mysql_query($query, $id_link);
    		//		echo '<br>'.$query.'<br>';
    		while($rang = mysql_fetch_array($resultat))
    		{
    			$no_tambour = $rang['no_tambour'];
    			$no_carac = $rang['no_carac'];
    			$pointA = $rang['pointA'];
    			$pointB = $rang['pointB'];
     
     
    			$query = 'SELECT `mgeocpr`, `diametrerevetsnd`, `diametrerevetp`, `excentricitefibre_snd`, `excentricitefibre_p`, `diametregdaxe`, `diametrepttaxe`, `excentricitecoeur_gaine`,`OKNOK`';
    			$query .= ' FROM `point` WHERE `id_point`=\''.$pointB.'\'  ';//and label_type="Octogonal"
    			$res = mysql_query($query, $id_link);
    			while($rang = mysql_fetch_array($res))
    			{
    				//				echo '<tr><td colspan=5><b>'.$no_tambour.' '.$no_carac.'</b> point B : '.$rang['mgeocpr'].'</td></tr>';
    				if($rang['mgeocpr'] == 1)
    				{
    					if($pointB != $precpointA) {
     
    						$diametrerevetsnd = $rang['diametrerevetsnd'];
    						$diametrerevetp = $rang['diametrerevetp'];
    						$excentricitefibre_snd = $rang['excentricitefibre_snd'];
    						$excentricitefibre_p = $rang['excentricitefibre_p'];
    						$diametregdaxe = $rang['diametregdaxe'];
    						$diametrepttaxe = $rang['diametrepttaxe'];
    						$excentricitecoeur_gaine = $rang['excentricitecoeur_gaine'];
    						$OKNOK=$rang['OKNOK'];
    						echo '<tr align="center" onmouseover="this.style.backgroundColor=\'grey\';" onmouseout="this.style.backgroundColor=\'white\';">
    							<td><b><a href="C010R00A-G-x20.jpg" class="img"  rel="lightbox[roadtrip]">'.$no_tambour.$no_carac.'B<span><img src="C020R00B-N-x50-1.jpg" width="200" height="200" border="4" /></span></a></b></td>';
     
    						echo '<form action="index.php?etat=5&page=6" method="post">';
    						if($_SESSION['baseFibre'] >= 2) {
    							echo '<input type="hidden" name="id_point" value="'.$pointB.'">
    									<td><button type="submit" name="valider" value="edit" style="background:white; cursor:hand; border:none"><img src=image/bouton/edit.png></button></td>';
    						}
    						echo '<td><input'.$disabled.' type="text" size=7 name="diametrerevetsnd" value="'.$diametrerevetsnd.'"></td>
    								<td><input'.$disabled.' type="text" size=7 name="diametrerevetp" value="'.$diametrerevetp.'"></td>
    								<td><input'.$disabled.' type="text" size=7 name="excentricitefibre_snd" value="'.$excentricitefibre_snd.'"></td>
    								<td><input'.$disabled.' type="text" size=7 name="excentricitefibre_p" value="'.$excentricitefibre_p.'"></td>
    								<td><input'.$disabled.' type="text" size=7 name="diametregdaxe" value="'.$diametregdaxe.'"></td>
    								<td><input'.$disabled.' type="text" size=7 name="diametrepttaxe" value="'.$diametrepttaxe.'"></td>
    								<td><input'.$disabled.' type="text" size=7 name="excentricitecoeur_gaine" value="'.$excentricitecoeur_gaine.'"></td>
    								<td><select name="OKNOK" ><option value='.$OKNOK.'></select></td>	
    								<td><input type="checkbox" name="selection" value=""></td>
    							</form></tr>';
     
    					}
    				}
    			}

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bon.
    Aucun commentaire présent dans le code (?), on ne peut que supposer...

    Dans le principe, pour chaque ligne :
    - on doit avoir un ID_ligne unique (en rapport avec celui en base de données : ID auto-incrémenté)
    - on utilise cet ID pour IDENTIFIER la ligne, et transmmettre l'ID :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <checkbox name="checkligne[]" value="<?php echo $ID_ligne; ?>"....>
    - on récupère un ARRAY :
    - puis les ID :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($_POST['checkligne'] as $index => $idligne){
      echo 'id de la ligne : '.$idligne;
    }

Discussions similaires

  1. ajouter des lignes dans un tableau dynamique
    Par yviii dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/06/2007, 12h15
  2. ajouter des lignes dans un tableau dynamique
    Par yviii dans le forum Windows
    Réponses: 1
    Dernier message: 20/06/2007, 11h28
  3. Régler la hauteur des lignes dans un tableau
    Par Gabout dans le forum Access
    Réponses: 4
    Dernier message: 19/02/2007, 18h11
  4. WinEdt + largeur des lignes dans un tableau
    Par Eric06 dans le forum Editeurs / Outils
    Réponses: 4
    Dernier message: 14/12/2006, 21h02
  5. [C#] Affichage des lignes dans un tableau.
    Par maldufleur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h28

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