8796 sujets

Développement web côté serveur, CMS

Bonjour,

Je lis 2 tables d'une base de données, mais je n'arrive pas à afficher le résultat comme je veux.

Voici mon code :


$requete="SELECT manifestations.id, manifestations.jour , manifestations.heure ,manifestations.datefr ,manifestations.titre ,manifestations.texte , upload.id_liaison, upload.lien_fichier, upload.fichier, upload.extension 
FROM manifestations LEFT JOIN upload ON manifestations.id=upload.id_liaison
ORDER BY manifestations.date ASC";
$result = mysql_query($requete,$link) or exit ('Erreur : '.mysql_error() );

$idEncours = 0;
while($row = mysql_fetch_array($result))
{
if( $idEnCours != $row['id'] )

{
echo '<table width="800px" border="1">';
echo '<tr>';
echo '<th rowspan="2" bgcolor="#ffe4c4" width="70px" align="center"><a href="modif-manif.php?mode=modif&id='.$row['id'].'">Modifier texte</a><p>***</p><br>
<a href="suppression.php?mode=suppression&id='.$row['id'].'">Supprimer</a><p>***</p><br> 
<a href="upload.php?mode=modif&id='.$row['id'].' " target="wclose" onclick="window.open(\'upload.php\',\'wclose\',\'width=450,height=10,toolbar=no,status=no,left=20,top=20\')">Ajouter document ou image</a></th>' ;

// "trim" enlève les espaces pouvant être contenu dans le champs "datefr" 
$tmp = trim($row['datefr']); 
$tmp2 = trim($row['heure']);
if(empty($tmp))
{ 
echo '<td bgcolor="#669999" width="100%" align="left">'.$row['titre'].'</td>'; 
}
elseif(empty($tmp2))
{ 
echo '<td bgcolor="#669999" width="100%" align="left">Le '.$row['jour'].' '.$row['datefr'].' : '.$row['titre'].'</td>'; 
}
else 
{ 
echo '<td bgcolor="#669999" width="100%" align="left">Le '.$row['jour'].' '.$row['datefr'].' à '.$row['heure'].' : '.$row['titre'].'</td>'; 
} 
echo '</tr>';
echo '<tr>';

echo '<td colspan="2" bgcolor="#FFFFCC" width="100%" align="center">'.nl2br($row['texte']).'<br>';
}
if ($idEnCours = $row['id_liaison']);

if (in_array($row['extension'], array( ".jpg", ".JPG", ".png", ".PNG", ".jpeg", ".JPEG", ".gif", ".GIF")))

echo '<a href ="http://xxxxxxxxxx ' . $row['lien_fichier'] . '"><img border=0 width="50" height="50" src="http://xxxxxxxxxx ' . $row['lien_fichier'] . '" /></a>';

elseif (in_array($row['extension'], array( ".doc", ".DOC", ".pdf", ".PDF")))

echo '<a href ="http://xxxxxxxxxx ' . $row['lien_fichier'] . '">Télécharger ou afficher le document<br><img border=0 width="50" height="50" src="../../../images/commande.gif" /></a>'; 

echo '</td>'; 
echo '</tr>';
echo '</table>'; 
}


Et voilà ce que j'obtiens :

upload/3791-test.jpg

Je voudrais que les images entourées de violet se retrouvent à côté de celle du dessus, dans le cadre jaune .... Mais je n'y arrive pas .... Smiley bawling

Pouvez-vous m'aider, svp .... Smiley confused
Modifié par t671 (16 Oct 2009 - 18:14)
Modérateur
Hello,

Je ne crois pas que cela provienne de php, puisque tous les éléments sont affichés apparemment.

J'ai plus l'impression que cela provient de la structure de ta table.

Au passage, pense à indenter ton code STP.
Modifié par Nolem (16 Oct 2009 - 21:03)
Salut,

+1 pour Nolem : il ne s'agit pas d'un problème de php mais de css.

Au passage :
* l'utilisation d'une table ne se justifie absolument pas ici.
* comme je suppose que tu vas créer un sujet dans le salon css je t'invite à ne mettre que le code html généré et pas le code php.
* tu as visiblement un problème d'encodage.
Merci à vous !!!!
Je pense aussi que cela vient de la mise en page, ou du if ($idEnCours = $row['id_liaison']); J'ai essayé de remplacer le if par while (boucle imbriquée), mais le script rame et ne m'affiche rien.
Quoique je fasse, soit le texte s'affiche autant de fois qu'il y a d'éléments associés dans upload avec ces derniers, soit à partir du 2° élément (répétition der la boucle), ceux-ci s'affichent dessous. Smiley biggol

Si vous avez la solution ..... car j'en ai, marre ..... Smiley confus Smiley ohwell !!!!!!
C'est bon !!!!! J'ai réussi .......... Smiley lol
Virré toutes les balises et rajouté au fur et à mesure ..... Smiley biggol Smiley murf