Salut à tous,je suis actuellement en 1ere année de BTS SIO et je suis en train de refaire pas mal d'exos en programmation de cette année,en java,html,ou php,et j'aimerais avoir l'avis d'un programmeur avec un peu d'expérience pour réinterpréter certains de mes exos et de mes réponses pour voir comment d'autres auraient pu les aborder,en gros à titre d'exemple,je vous donne un énoncé comme une base de données format MySQL à afficher en Php et je compare votre code au mien pour voir sur quels points je peux me perfectionner,voilà,si jamais vous avez un moment de libre ou par curiosité,ça me rendrait un grand service
Merci à tous !
donne plutôt tes réponses et les programmeurs donneront leur avis. C'est plus simple et rapide.
Le 09 mai 2020 à 03:30:47 tsez93 a écrit :
donne plutôt tes réponses et les programmeurs donneront leur avis. C'est plus simple et rapide.
Exactement.
On commentera les lignes que tu as mis, ou l'organisation de ton code.
Ouais c'est pas simplement plus rapide mais juste une règle de base sur un forum d'entraide : l'entraide se fait sur le forum et non en privé ça n'a aucun intérêt sinon.
Salut,merci pour toutes vos réponses je comprends pas de soucis,je me suis dit que ça aurait été mieux pour le suivi en privé,puis j'aurais pu garder ça dans mes conversations pour y revenir,enfin bref,voici un énoncé par exemple :
Avec cette base de données :
Article(idArticle, nom, image, idCategorie)
idArticle : clé primaire
idCategorie : clé étrangère en réf. à idCategorie de Categorie
Categorie(idCategorie, libellé)
idCategorie : clé primaire
La base de données est au format MySQL, sous le nom «magasin», accessible en local avec l’utilisateur
"prive" pwd "privepwd". En racine du site se trouve le dossier "images". Dans ce dossier se trouvent toutes les
images des articles avec comme noms de fichiers, les noms mémorisés dans la table Article.
L’affichage doit être trié en premier sur la catégorie et en second sur le nom de l’article.
L’affichage doit se faire un article par ligne, avec les informations dans cet ordre :
–– 1re colonne : libellé de la catégorie ;
–– 2e colonne : image de l’article ;
–– 3e colonne : nom de l’article.
Le libellé de la catégorie ne doit apparaître qu’une fois par catégorie (donc vous ne devez pas afficher
plusieurs fois le même libellé)
Voici ma solution,il fallait rédiger une page en Php :
<?php
$cnx=newPDO(‘mysql :host=127.0.0.1 ;dbname=nolark’,’Prive’,’priveqwd’);
echo '<table>' ;
$ancCategorie = "" ;
$req = 'SELECT C. libellé as categorie, A.image as image, A.nom as nom' ;
$req .= ' FROM article A NATURAL JOIN categorie C';
$req .= ' ORDER BY C.libellé, A.nom';
$res = $cnx->query($req);
while ($ligne = $res->fetch<PDO ::FETCH_OBJ) {
echo '<tr>' ;
$categorie = $ligne->categorie ;
$image = $ligne->image ;
$nom = $ligne->nom ;
if ($ancCategorie!=$categorie) {
echo '<td>'.$categorie.'</td>' ;
}else{
echo '<td> </td>' ;
}
echo '<td><img src="images/'.$image.'" /></td>' ;
// affichage du nom de l'article
echo '<td>'.$nom.'</td>' ;
echo '</tr>' ;
$ancCategorie = $categorie ;
}
echo '</table>' ;
unset($cnx) ;
?>
Voilà à titre d'exemple,je me demande quelle autre variante aurait été possible ou si en concaténant avec une variable j'aurais eu un autre affichage,vous en pensez quoi ?
Une idée ?
j'aurai fait avec un foreach plutot qu'un while