Table HTML

Résolu
Hurobaki Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -  
Hurobaki Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

J'ai créé un tableau en HTML avec les balises <tr> et <td> avec un affichage en PHP.

Voici le tableau en question :

<div id="div_table">
	    <center><table border="1" cellpadding="4" id="tableau">
	    	
	    	<tr>

			<td class = "table_title"><font color="red"><?php echo _("Id Application"); ?></font></td>
			<td class = "table_title"><font color="red"><?php echo _("Nom Application"); ?></font></td>
			<td class = "table_title" colspan="2"><center><font color="red"><?php echo _("Information Application"); ?></font></center></td>
			<td class = "table_title" colspan="2"><center><font color="red"><?php echo _("Action"); ?></font></center></td>

			</tr>

			<tr>
				<td></td>
				<td></td>
				<td></td>
				<td></td>	
				<td colspan="2"><a href="ajout.php"><button id ="ajouter" class="gestion ajouter">Ajouter</button></a></td> <!--Voir pour retirer href du coup-->
			</tr>
			
			<?php 
	 		
	 		include('connex/connexion.php');

	 		$req = $bdd->prepare("SELECT DISTINCT app_id, app_name, app_url, img_url, app_info FROM applications, images
								 WHERE app_id= img_app_id");
			$req->execute();

			?>
			<?php


			$NbrCol 	= 6;
			$NbrLigne 	= 5;
			
			$temp =0;

			while($data = $req->fetch(PDO::FETCH_ASSOC))
			{
				
	 		?>
	 			
				<tr>
					<td><center><?php echo $data['app_id'];?></center></td> <!-- Premiere colonne on écrit l'id de l'application -->
					<td><?php echo $data['app_name'];?></td> <!-- Deuxième colonne on écrit le nom de l'application -->
					<td><?php echo $data['app_info'];?></td> <!-- Troisième colonne on écrit l'information de l'application -->
					<td><a href="<?php echo$data['app_url']; ?>"><?php echo $data['app_url'];?></a></td> <!-- Quatrième colonne on écrit l'url de l'application -->

					<td><form id="table-form<?php echo $temp;?>" action="edit.php" method="post" >
								<button id="<?php echo $temp;?>" class="gestion edit" type="button" value = "Edit" onclick="remplir(this);">Edit</button>
									<input type="hidden" name="modification"  value="<?php echo $data['app_id']; ?>"/>
					</form></td>
					<td><form id="table-forms<?php echo $temp;?>" action="edit.php" method="post" >
									<button id="<?php echo $temp;?>" class="gestion" type = "button" value="Delete" onclick="remplir(this);">Delete</button>
									<input type="hidden" name="suppression"  value="<?php echo $data['app_id']; ?>"/>
					</form></td>
				</tr>
				
	 			<?php
	 			$temp ++;
	 			
	 				
	 		} 
	 		?> 
	 		
	    </table></center>
	</div>


Comme vous le voyez j'utilise une boucle while pour afficher mon tableau ce qui me va très bien.

Ce que je voudrai c'est pouvoir faire un tableau sur plusieurs pages, c'est à dire n'afficher que 10 éléments sur un tableau et que si l'utilisateur clique sur page suivante alors les 10 prochains éléments seront affichés.

J'ai pensé alors à des boucles for avec le nombre de ligne et de colonne, mais mon problème est que je ne vois pas comment faire avec ma boucle while d'affichage ? Faut-il changer la boucle ?

J'attends vos conseils,

Merci d'avance :)
A voir également:

5 réponses

Wilou017 Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   11
 
por ta requette :
SELECT DISTINCT app_id, app_name, app_url, img_url, app_info FROM applications, images WHERE app_id= img_app_id


ca deviendrais :
SELECT DISTINCT app_id, app_name, app_url, img_url, app_info FROM applications, images WHERE app_id= img_app_id LIMIT 0, 10

qui affiche les element du 0ème au 10ème

second exemple :
SELECT DISTINCT app_id, app_name, app_url, img_url, app_info FROM applications, images WHERE app_id= img_app_id LIMIT 125, 156

affiche du 125 au 156
après tu remplace ces chiffre par des variable et le tour est joué
1
Tomy2e Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonjour, il faut modifier la requête SQL pour n'afficher que 10 résultats en utilisant le clause LIMIT: https://sql.sh/cours/limit
Ensuite on peut faire un système pour gérer les pages en ajoutant un paramètre dans l'URL de cette manière par exemple: script.php?page=1
0
Hurobaki Messages postés 53 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Désolé de ne pas avoir répondu avant il y a eu le week end j'ai pas eu trop le temps,

Je vais m'orienter sur la clause LIMIT, comme vous me l'avez conseillé, et le fait de remplacer par des variables me donne une bonne idée, sur le clic page suivante par exemple je peux incrémenter les variables de 10 et les soustraire de -10 si page précédente !

C'est une méthode simple et efficace !

Je testerai ça demain matin,

Je te tiens au courant,

Merci beaucoup à vous deux :)
0
Utilisateur anonyme
 
Salut, cela s'appelle une pagination. Avoir le nom permet de faire de bonnes recherche.

Bonne soirée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hurobaki Messages postés 53 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

La pagination marche bien après quelques galères cependant ...

En effet la clause LIMIT de MySQL avec deux paramètres, le premier est le offset et le second est la limite.

Il n'y a donc besoin que d'une seule variable pour définir le offset ! :)

Voilà,

Merci Wilou !
0