bonjour,

j'ai cherché sur le net et sur le forum une solution mais en vain !!

j'ai trouvé le script sur le net , qui consiste à afficher mes données sous forme de tableau, de les trier en cliquant sur le titre des champs et d'afficher 20 enregistrement par page , pratique comme code n'est ce pas

mais le hic , c'est que j'ai du mal à insérer des checkbox pour chaque ligne, permettant ainsi d'éditer , supprimer , ou ajouter un enregistrement à ma base de données , alors je fait appel à vous pour me donner un coup de main .

nb : je ne comprend pas le script à 100 % "niveau initié" et je suis encore débutante

voici le script :

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
 
<?php
// Nb de ligne affichées par page
$nblignes_aff = 20;
 
// Ne pas toucher
$clic         = isset($_REQUEST["clic"]) ? $_REQUEST["clic"] : -1;
$cle          = isset($_REQUEST["cle"])  ? $_REQUEST["cle"]  : 0;
$ancien_cle   = isset($_REQUEST["ancien_cle"]) ? $_REQUEST["ancien_cle"] : 0;
 
// Libellé affiché (entete du tableau)
$libelle      = array("Nom", "Prénom", "E-mail", "Tél.", "Portable", "Poste interne", "Division");
// Nom des champs de la base de données à afficher pour l'ordre du tri
$ordre        = array("nom", "prenom", "email", "telephone", "user_mobile", "poste_interne", "division");
 
// Ne pas toucher
$vrai         = false;
$toto         = isset($_REQUEST["G_debut"]) ? $_REQUEST["G_debut"] : "";
 
print '
<html>
<head>
<title>
TEST
</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" name="form1">
';
 
if (isset($toto)) $vrai = true;
if (!$vrai) {
	$clic    = -1;
	$cle     = 0;
	$G_debut = 0;
}
 
$pasbon = true;
$order  = "order by ".$ordre[$cle];
 
if ($ancien_cle == $cle && $clic == 2) $order .= " desc";
 
$BD = mysql_connect("localhost", "root", "");
if (!$BD) die(mysql_error());
mysql_select_db("db_helpdesk", $BD) or die(mysql_error());
 
 
$requete = "select nom, prenom, email, telephone, user_mobile, poste_interne, division 
            from hd_utilisateur,hd_division where hd_utilisateur.fk_division= hd_division.id_division $order";
if (!$requete) die(mysql_error());
$result  = mysql_query($requete, $BD);
if (!$result) die(mysql_error());
$rows    = mysql_num_rows($result);
 
if (!$rows) die(mysql_error());
 
if ($rows > 0) {
	list($debut, $fin, $pop) = @pagination($result, $nblignes_aff, basename($_SERVER["SCRIPT_NAME"])."?cle=$cle&clic=$clic&ancien_cle=$cle", $cle);
 
	$aff = "";
 
	for ($i=0;$i<count($libelle);$i++) {
		if (!$libelle[$i]) continue;
		if ($cle == $i) {
			$img = $clic == 2 ? "&nbsp;&nbsp;<img src=\"images/fleche_h.gif\">" : "&nbsp;&nbsp;<img src=\"images/fleche_b.gif\">";
			$leclic = 1 - $clic;
		} else {
			$leclic = -1;
			$img = "";
		}
 
		$aff .= "\t\t<th nowrap class=\"title\" ><a href=\"".basename($_SERVER["SCRIPT_NAME"])."?cle=$i&clic=$leclic&G_debut=$debut&ancien_cle=$cle\">".$libelle[$i]."</a>$img</th>\n";
	}
 
	$aff = "<br>\n<table class=\"adminlist\" border=\"0\" align=\"center\" width=\"90%\">\n\t<tr>\n".$aff."\t</tr>\n";
 
	if ($debut < $fin) {
		for ($i=$debut;$i<$fin;$i++) {
			if ($i % 2 == 0) $couleur = "'#f9f9f9'";
			else $couleur = "''";
 
			$temp = mysql_fetch_row($result);
			$aff2 = "";
 
			for ($j=0;$j<count($temp);$j++) {
				if (Empty($libelle[$j])) continue;
 
				$aff2 .= "\t\t<td nowrap>".$temp[$j]."</td>\n";
			}
 
			$aff2 = "<tr bgcolor=$couleur>\n".$aff2."</tr>\n";
			$aff .= $aff2;
		}
	}
} else {
	$pasbon = false;
	$erreur = "Il n'y a aucun contact";
}
if ($pasbon) print "<br>$pop$aff\n</table>";
else print "<center><font color=\"red\"><h4>$erreur</h4></font></center>";
 
print '
<input type="hidden" name="ancien_cle" value="$cle">
<input type="hidden" name="clic" value="$clic">

</form>
</body>
</html>
';
 
mysql_close($BD);
 
/*
Usage :
list($debut, $fin, $popup) = @pagination($requ, $nbaff, $param, $cle, $debut);

$requ est l'identifiant de la requête à savoir :
	ex: $requ = mysql_query("select * from truc where machin=chose", $BD);

$nbaff est le nombre de ligne affichable par page

$param les paramètres à passer ds l'url pour rester sur la page voulue, à savoir nomfich?param0=truc0&param1=truc1

$cle est le numéro de la position du champ de la sélection sur lequel l'index sera appliqué (optionnel)

$debut démarre la sélection de la requête à $debut défaut = 0 (optionnel)
*/
function pagination($requ, $nbaff, $param, $cle = 0, $debut = 0) {
	global $G_debut;
 
	$G_debut = isset($_REQUEST["G_debut"]) ? $_REQUEST["G_debut"] : $debut;
	$nblignes_aff = $nbaff;
	$nbrow        = mysql_num_rows($requ);
 
	$nbpage       = $nbrow / $nblignes_aff > intVal($nbrow / $nblignes_aff) ? intVal($nbrow / $nblignes_aff) + 1 : intVal($nbrow / $nblignes_aff);
	$menu = "";
	$G_fin  = 0;
 
	if ($nbrow > 0) {
		if ($nbpage > 1) {
			$lasituation = array();
			$inc = 0;
			$j   = 1;
 
			while ($valeurs = mysql_fetch_row($requ)) {
				if ($inc % $nblignes_aff == 0) $lasituation[$j] = "$valeurs[$cle] --> ";
				if (($inc % (($nblignes_aff * $j) - 1) == 0 && $inc != 0) || $inc == ($nbrow - 1)) {
					$lasituation[$j] .= $valeurs[$cle];
					$j++;
				}
				$inc++;
			}
 
			mysql_data_seek($requ, $G_debut);
			$nb = 0;
			$popupmenu = "<SELECT NAME=\"pagination\" onChange=\"document.location=this.options[this.selectedIndex].value\">\n";
 
			for ($i=1;$i<=$nbpage;$i++) {
				if ($nb == $G_debut) {
					$popupmenu .= "<OPTION VALUE=\"0\" selected>page $i : $lasituation[$i]\n";
				} else {
					$popupmenu .= "<OPTION VALUE=\"$param&G_debut=$nb\">page $i : $lasituation[$i]\n";
				}
				$nb += $nblignes_aff;
			}
 
			$popupmenu .= "</SELECT>\n";
 
			$menu = "<center>$popupmenu<br><b>".($G_debut + $nblignes_aff > $nbrow?$nbrow:$G_debut + $nblignes_aff)." / $nbrow</b></center>";
		}
 
		$G_fin = $nbrow < $G_debut + $nblignes_aff ? $nbrow : $G_debut + $nblignes_aff;
	}
 
	return array($G_debut, $G_fin, $menu);
}
?>
j'ai éssayé avec ce bout de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
while($ligne = mysql_fetch_array($result))
{
echo '<tr>';
?>
 <td>
 
<input type="checkbox" name="casecochee[]"  value='".$ligne['
id_user']."'> <br>
</td>
<?
}
mais il affiche les checkbox en dessus de mon tableau et non dans une colonne à l'intérieur de ce dernier
merci d'avance à tous ceux qui liront mon message