8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Alors cmme le dit le sujet j'ai un petit problème sur un script php que je suis en train de créer.
Pour un besoin personnel j'ai créé une page sur un site qui doit présenter différentes étapes d'une activité et pour chaque étape des images de l'activité seront insérées dedans.

Pour ceci j'ai donc créé une table et ai dit que chaque image à son nom d'étape (que je nomme catégorie).

Ma stratégie a donc été d'extrairement seulement les noms d'étape de chaque images avec 'DISTINCT' pour que chaque étape puisse s'afficher. J'ai importé les données de la table pour pouvoir importer les images.
Un php foreach se construit alors pour le nom de ces étapes et dedans j'en ai inséré un autre pour générer les images.
Mais en l'état cela affiche toutes les images...
Mon problème réside dans le fait que je n'arrive pas à dire qu'en fonction du nom d'étape (catégorie) de l'image, elle s'affice dans l'étape correspondante.

Pourriez vous m'aider, je suis encore nouveau dans le monde du phph et je m'arrache les cheveux Smiley cligne
Merci d'avance
Voici le code.


<?php
$sql = "SELECT id, nomfic, typemime, description, contenu, id_categ
	 FROM img_categ";
	$resultat = mysqli_query($lien, $sql);
        if (!$resultat)
        {
	$erreur = 'Erreur de récupération des images dans la base.';
							  include 'erreur.php';
							  exit();
							}
							
							
	$fichiers = array();
	while ($ligne = mysqli_fetch_array($resultat))
	{
	$fichiers[] = array(
	'id' => $ligne['id'],
        'nomfic' => $ligne['nomfic'],
	'typemime' => $ligne['typemime'],
	'description' => $ligne['description'],
	'contenu' => $ligne['contenu'],
	'id_categ' => $ligne['id_categ']);
	}
													
	$categories = mysqli_fetch_array($resultat);
	$sql = 'SELECT DISTINCT id_categ
	          FROM img_categ';
	$resultat = mysqli_query($lien, $sql);

$categories = array();
while ($ligne = mysqli_fetch_array($resultat))
{
 $categories[] = array(
	'id_categ' => $ligne['id_categ']);
}			
?>


 <?php foreach ($categories as $c): ?>
           <h4><?php echo htmlspecialchars($c['id_categ'], ENT_QUOTES, 'UTF-8'); ?></h4>
     <?php foreach($fichiers as $f): ?>
          <a href="img-mon-metier/<?php echo($f['nomfic']); ?>" rel="lightbox[roadtrip]" ><img src="img-mon-metier/<?php echo($f['nomfic']); ?>" width="293" height="196" style="float:left;margin:0 20px 20px 20px;" /></a>
     <?php endforeach; ?>
<?php endforeach; ?>
bonjour j'aimerais t'aider, mais ton explication n'est pas bien claire, et la partie php est truffé d'erreur en tout genre. Pourrais tu être plus précis sur ce que tu recherches a affiché, sans passer par de longue explication Smiley smile

Par exemple une ligne de ta table et ce que tu aimerais que cela affiche.
Bonjour et merci de votre réponse, en ce qui concerne les erreurs php je ne me suis fié qu'à un livre et je constate qu'il n'est pas si fiable que ca d'autant plus qu'en important tout mon site sur ovh cela ne marche plus

bref pour en revenir à mon problème je dois trier la table img_categ par ces id_categ, voilà en clair mon souci Smiley smile

Merci encore pour ta réponse
Correction j'ai réussi à faire fonctionner mon site sur OVH, je suis autodidacte en ce qui concerne le php, j'ai tendance à avoir certains soucis du coup

Dans l'attente de vous lire... Smiley smile
Bonjour, désolé de la réponse tardive mais je suis assez occupé en ce moment Smiley smile Si je comprends bien tu recherche uniquement a faire un affichage via php de ta table img_categ , mais encore uen fois pourrais tu me donnéer un exemple d'une ligne de ta table avec le nom de chaque onglet exemple :

Table img_categ :
- id : 22
- nomfic : Bonjour
-typemime : 1
-description : j'aime le php
-contenu : oui c'est le top
- id_categ : 1

et l'affichage voulu, car ej suis pas sur de comprendre si tu souhaite faire un affichage basic de toute ta atbel ranger par ordre croissant via les id_categ. Ou afficher les résultats par "groupe" de id_categ.

Juste montre moi un exemple concret d'affichage que tu recherches et je pourrais t'aider, car désolé mais c'est vague Smiley cligne