Tableau php

Fermé
Nord - 14 sept. 2007 à 17:09
 Nord - 15 sept. 2007 à 23:11
Bonjour!

Voilà, n'étant pas doué pour la programmation (j'apprends sur le tas lol), je tiens un webzine avec des amis grâce à PhpNuke. Le soft est vraiment pratique, et j'arrive maintenant à créer des modules différents. Et dans celui que je suis en train de créer, j'ai un problème, probablement tout bête avec un tableau.

Sur le webzine nous publions des chroniques de CDs, et on souhaiterait créer un module pour afficher les dernières chroniques en page d'accueil du site. Je suis bien arrivé à faire les requêtes dans ma base de données, mais je n'arrive pas à faire afficher les résultats de la manière que nous voulons: je fais afficher pour chaque chronique la pochette et le titre en dessous, mais je ne suis arrivé qu'à y placer les unes en desous des autres, or on aimerait faire 6 lignes, avec dans chaque ligne 3 liens affichés, comme c'est le cas sur ce site: http://www.lesacteursdelombre.com/Ombres/chronique/index.asp?rsRubrique=Groupe

Je sais qu'il faut faire un tableau, mais je n'y arrive/comprends pas :/ Je suis sûr que le code est tout con mais voilà je ne trouve pas. Mon code à l'heure actuelle est le suivant:

[quote]<?php


if (!defined('MODULE_FILE')) {
die ("You can't access this file directly...");
}
define('INDEX_FILE', true);
if (stristr($_SERVER['QUERY_STRING'],'%25')) header("Location: index.php");

require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);

include("header.php");
OpenTable();

$query = "SELECT title, id, cover, date FROM nuke_reviews order by id DESC limit 18";
$result = mysql_query($query, $link) or die($query . " - " . mysql_error());

$nbResults = mysql_num_rows($result);
echo "<center><b>Les $nbResults dernières chroniques de Black Devotion</b>";
echo "<br /><br /><br><br>";


while ($tab = mysql_fetch_array($result)) {
echo "<a href=\"modules.php?name=Reviews&rop=showcontent&id=".$tab['id']."\"><img src=\"images/reviews/".$tab['cover']."\" align=middle border=1 height=100 width=100><br>".$tab['title']."<br><br></a>";

}

CloseTable();
include("footer.php");

?>[/quote]

Merci!
A voir également:

5 réponses

elghafoud Messages postés 121 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 29 avril 2013 18
14 sept. 2007 à 17:26
voila si j'ai bien compris ton probleme! je t'offre plus que l'aide!!
n'hesite pas a aller sur mon site : http://www.elghafoud.net/


<?php
$nb_col = 8;
$nb_total = 25;
?>

<table style="width:100%; height:100%; border:1px;">

<?php
for($j = 1; $tab = mysql_fetch_array($result);)
{
if ($j == 0)
echo '<tr>';
echo "<td style=\"\"><a href=\"modules.php?name=Reviews&rop=showcontent&id=".$tab['id']."\"><img src=\"images/reviews/".$tab['cover']."\" align=middle border=1 height=100 width=100><br>".$tab['title']."<br><br></a></td>";
if ($j == $nb_col){
echo '</tr>';
$j=0;
}
$j++;
}
while ($j<=$nb_col) {
echo '<td style=""></td>';
$j++;
}
print $j;

?>
</table>
0
Merci beaucoup, ça me met bien sur la voie!

Par contre, j'ai 8 liens par lignes, alors que j'en recherche 3 par ligne, soit 6 lignes. J'ai réussi en modifiant $nb_col mais après j'ai un '4' qui apparait sans que je sache trop pourquoi juste au dessus du tableau, et je n'arrive pas à tout centrer.

Soit le code:

<?php


if (!defined('MODULE_FILE')) {
die ("You can't access this file directly...");
}
define('INDEX_FILE', true);
if (stristr($_SERVER['QUERY_STRING'],'%25')) header("Location: index.php");

require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);

include("header.php");
OpenTable();

$query = "SELECT title, id, cover, date FROM nuke_reviews order by id DESC limit 18";
$result = mysql_query($query, $link) or die($query . " - " . mysql_error());

$nbResults = mysql_num_rows($result);
echo "<center><b>Les $nbResults dernières chroniques de Black Devotion</b>";
echo "<br /><br /><br><br>";
?>


<?php
$nb_col = 3;
$nb_total = 25;
?>

<table style="width:100%; height:100%; border:1px;">

<?php
for($j = 1; $tab = mysql_fetch_array($result);)
{
if ($j == 0)
echo '<tr>';
echo "<td style=\"center\"><a href=\"modules.php?name=Reviews&rop=showcontent&id=".$tab['id']."\"><img src=\"images/reviews/".$tab['cover']."\" align=top border=1 height=100 width=100><br>".$tab['title']."<br><br></a></td>";
if ($j == $nb_col){
echo '</tr>';
$j=0;
}
$j++;
}
while ($j<=$nb_col) {
echo '<td style=""></td>';
$j++;
}
print $j;

?>
</table>

<?php
CloseTable();
include("footer.php");

?>


En tout cas, merci beaucoup!
0
Re-bonjour à tous!

En fait, nous avons changé d'avis, on ne fait plus afficher le titre directement, mais plutôt uniquement l'image avec une infobulle qui elle contiendrait le titre. Mais j'ai un problème avec cette fonction:
- j'ai essayé la fonction title: <img src=\"images/reviews/".$tab['cover']."\" align=bottom title=".$tab['title']." border=1 height=100 width=100>
- la fonction span: <td style=\"\" align=center><span title=".$tab['title']."><a href=. . .

mais dans les deux cas, l'infobulle n'affiche que le premier mot, s'arrête au premier espace du titre.

Comment se fait-ce? :p

Et je n'ai toujours pas trouvé ce que ce chiffre juste au dessus du tableau faisait là, je pense que le problème vient de ce bout de code:
<?php
$nb_col = 3;
$nb_total = 18;
?>

mais je ne comprends pas lol

Merci en tout cas elghafoud! Ton code m'aide beaucoup!
0
Bonjour!

Le problème du 4 affiché intempestif est résolu!

par contre je lutte toujours pour réussir à afficher le titre en infobulle quand on passe la souris sur l'image. J'ai essayé avec la commande htmlentities pour convertir les espaces, mais ça ne marche pas d'avantage...

Merci!
0

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

Posez votre question
Problème résolu!
0