Page 1 sur 1

Jeu d'enregistrement Dream CS3 (recordset) EN COLONNES ?????

Posté : 04 mai 2010, 09:57
par Neum
Bonjour à toutes et à tous,

Nouveau venu ici, je me présente : je suis Neum. Je travaille sur Mac OS X Léopard, 10.5.8, sur un MacBook Pro 17" Intel, avec MAMP installé pour le serveur Apache en local, PhpMyadmin, et Dreamweaver CS 3, entre autres choses. Je travaille sur un site dynamique en php 4 compatible php 5.

Etant donné que je me "remets" au php suite à un an d'hôpital et 4 opérations (je suis actuellement en convalescence), j'essaie de retrouver mes acquis, mais le php n'est pas comme le vélo : on oublie, et très très vite... Aussi, étant totalement bloqué sur un script, depuis 3 jours, je me suis décidé à venir demander votre aide. Ne sachant pas trop sur quel forum poster, je l'ai mis dans le php "avancé" puisque le sujet de mon code n'est pas un code par défaut mais une manipulation à postériori du code php pour parvenir au résultat escompté. Cela étant, si je me suis trompé de sous-forum, merci de bien vouloir m'en excuser.

Je travaille donc sur un diaporama dynamique (donc mes images sont liées à ma BDD) associé à une lightbox avec slideshow intégré.
Alors soyons clair : le fonctionnement global de l'ensemble marche parfaitement : table dans la base, jeu d'enregistrement dans Dreamweaver, insertions du tableau dynamique dans la page php, liens cliquables des vignettes, ouverture de la lightbox, affichage des versions larges, etc, aucun problème.

Mon problème est un problème de formatage de mon tableau dynamique, c'est à dire de mon jeu d'enregistrement php de ma table (recordset), dans ma page php :
Lorsqu'on insère un jeu d'enregistrement dans une page php sous Dreamweaver, il s'affiche sur une seule colonne, entièrement en vertical, et les images s'affichent les unes SOUS les autres. Dreamweaver crée une boucle WHILE DO. Point final. On se retrouve donc avec une barre verticale. Et si, comme moi, on a 25 ou 30 images, c'est tout simplement impossible en l'état de laisser une telle structure.
Je voudrais donc formater le recordset sous forme de tableau. Précisément 6 colonnes et 5 lignes.
Mais tout ce que j'ai essayé a été voué à l'échec. Il faut bien évidemment modifier les lignes table/while do, mais je n'y arrive pas.
Quelqu'un pour me dire comment faire ??


Voici mon code :

Code : Tout sélectionner

CODE DE LA TABLE dans la page PHP Dreamweaver cs3 : (dans le Head) : mysql_select_db($database_connectmabase, $connectmabase); $query_monrecordset = "SELECT monchampminiature FROM matable "; $monrecordset= mysql_query($query_monrecordset, $connectmabase) or die(mysql_error()); $row_mon recordset= mysql_fetch_assoc($monrecordset); $totalRows_monrecordset = mysql_num_rows($monrecordset); ======================================================================================================================================= CODE de la boucle WHILE DO automatique de Dreamweaver CS3 : (dans le Body) : <table border="0"> <?php do { ?> <tr> <td> <a href="chemin-vers-dossier-lightbox-affiche-grandformat/<?php echo $row_monrecordset['champimageLarge']; ?>" rel="slideshow[<?php echo $row_monrecordset['rel']; ?>]"><img src="chemin-vers-dossier-lightbox-miniatures/<?php echo $row_monrecordset['champPetiteImage']; ?>" border="0" /></a> </td> </tr> <?php } while ($row_monrecordset = mysql_fetch_assoc($monrecordset)); ?> </table>
Merci vraiment infiniment à toutes celles et tous ceux qui voudront bien me dire comment faire, parce que là je craque assez après 3 jours en vain....
Bien cordialement,
Neum

Re: Jeu d'enregistrement Dream CS3 (recordset) EN COLONNES ?????

Posté : 04 mai 2010, 10:30
par Berzemus
Divin dieu qu'il est laid ce code, travailler sous Mac n'est pas une excuse a produire un Php si imbuvable (par contre, DW, oui).

Faut commencer par le rendre déjà utilisable:
do { 
      echo "<tr><td>";
      echo '<a href="chemin-vers-dossier-lightbox-affiche-grandformat/'. $row_monrecordset['champimageLarge'].'" rel="slideshow['. $row_monrecordset['rel'].']"><img src="chemin-vers-dossier-lightbox-miniatures/'.$row_monrecordset['champPetiteImage'].'" border="0" /></a>';
      echo "</td></tr>";
} while ($row_monrecordset = mysql_fetch_assoc($monrecordset));
Donc voilà, c'est mieuw.

Après, c'est assez aisé, avec un petit compteur et un nombre max de colonnes, on itère sur les résultats en construisant a chaque fois une nouvelle cellule, et lorsque le compteur est égal ou supérieur au nombre max autorisé, paf, on passe à la rangée suivante.

Re: Jeu d'enregistrement Dream CS3 (recordset) EN COLONNES ?????

Posté : 04 mai 2010, 10:47
par Neum
bonjour Berzémus,

et merci de ta réponse.

Cela étant, juste 2 petites choses :

-1) Le code php donné est directement issu de Dreamweaver. La boucle do while est générée automatiquement, de même la table issu du recordset... J'imagine bien que pour les vrais dévelopeurs, les codeurs réels, ce doit être médiocre sinon insupportable, mais en l'état, je n'y peux guère grand chose... Cela étant, le code dream fonctionne en ligne, sous mac comme sur pc et en multi browsers. Donc, grégairement, je m'en accomode.

-2) Je connais les principes des forums : on vient demander un "bout d'aide", étant entendu que si on est là pour apprendre, on doit aussi travailler seul pour savoir.
Cela étant dit, ça fait 3 jours sinon même 4 que je sèche là-dessus et je tourne en rond. Aussi, et vraiment Berzémus, vraiment, sans vouloir le moinsdu monde abuser ni prendre qui que ce soit pour des imbéciles ou des vaches à lait, pourrais-tu me montrer le code complet dont tu parles, car ton idée de compteur et d'affichage de nouvelle cellule m'échappe totalement, et je m'en excuse réellementt.
Je suis partisan de voir, UNE FOIS, et de se faire expliquer, apprendre, comme devant un tableau. Puis de comprendre et de refaire. Et enfin, transmettre à son tour. Parce que là, sois compatissant tu veux bien, ça fait 4 jours que je tourne et vire, de plus en plus stressé et je suis "à bout"...

Merci de bien vouloir me comprendre et m'enseigner ce code.
Bien sincèrement à toi,
Neum