JeuWeb - Crée ton jeu par navigateur
Probleme de TD dans un tableau - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Probleme de TD dans un tableau (/showthread.php?tid=1099)

Pages : 1 2 3


Probleme de TD dans un tableau - Kassak - 22-04-2007

Bonjour.

Donc, dans mon jeu les personnages detectés sur la case du joueur sont affiché chacun dans un tableau, avec ses données et les actions possibles.
Avant, pour attaquer une personne, j'utilisais la methode GET, avec une petit image carré pour le lien, s'il y avait plusieurs action a faire, les images s'affichaient les unes a coté des autres, exactement comme je le voulais.
Je viens de passer maintenant a la methode POST, bien mieux d'ailleur^^
J4ai mis les meme images en guise de bouton, et maintenant, les images ne se mettent plus les unes a coté des autres, mais les unes en dessous des autres, cela fait très laid, et je n'arrive pas a y remedier!

Je vous lache mon code du tableau, on m'a dit qu'il fallait jouer avec les <td> </td< et les colspan, mais je ne pige pas grand chose Oo

Code PHP :
<?php 
for ($x=$posx;$x<=$posx;$x++) {
for (
$y=$posy;$y<=$posy;$y++) {

$sq = mysql_query('SELECT pseudo,avatar_joueur, vieMax, vie, mana FROM membre WHERE posx='.$x.' AND posy='.$y.' AND pseudo<>"'.$_SESSION['pseudo'].'" ORDER BY posx DESC,posy DESC') or die(mysql_error());
$numenr = mysql_num_rows($sq); //nombre d'enregitrement revnoyés par la requete

echo '<table border="1" bgcolor="#dabe92"><tr>';

$cpt = 0; // le compteur

while ($data = mysql_fetch_array($sq)) {

$cpt++;

if (
$cpt == 5) {
echo
'</tr><tr>'; // on ouvre une nouvelle ligne
$cpt = 1;
}

echo
'<td align="center"><img src="image/menu.png"><b><u>'.$data['pseudo'].'</u></b><br />';
$vie = (($data['vie']/$data['vieMax'])*100);
$viearrondi = round($vie, 0);

if (
$viearrondi < 0) {
echo
"Vie : 0<br />";

}
else{
echo
"Vie : $viearrondi %<br />";

}
if (
$viearrondi == 0) {
echo
'<font color=#000024>RIP</font><br />';
}
else
if (
$viearrondi < 20) {
echo
'<font color=#fa2f16>Agonisant</font><br />';
}
else
if (
$viearrondi < 40){
echo
'<font color=#fa2f16>Grièvement bléssé</font><br />';
}
else
if (
$viearrondi < 60){
echo
'<font color=#007ca0>Bléssé</font><br />';
}
else
if (
$viearrondi < 80) {
echo
'<font color=#007ca0>Amoché</font><br />';
}
else
if (
$viearrondi < 100) {
echo
'<font color=#00dd32>A peine égratiné</font><br />';
}
else
if (
$viearrondi == 100) {
echo
'<font color=#00dd32>En pleine forme!</font><br />';
}
echo
'Ce joueur est '.$data['avatar_joueur'].'<br />';


echo
'<form style="margin:0px; padding:0px; display:inline" action="mp.php?action=ecrire" method="post">
<input style="margin:0px; padding:0px" type= "image" border=1 src="image/courrier.gif" name="ecrire" value="Ecrire" onclick="submit"/></form>'
;


if (
$viearrondi == 0){
echo
'<img border=1 src="image/attaque.gif">';
}
else{
echo
'<form style="margin:0px; padding:0px; display:inline" action="attaque.php" method="post">
<input type= "hidden" name="adversaire" value="'
.$data['pseudo'].'" />
<input style="margin:0px; padding:0px" onmouseover="montre(3);" onmouseout="cache(3);" type= "image" border=1 src="image/attaque.gif" name="attaquer" value="Attaque" onclick="submit"/></form>'
;
}
echo
'<div id="infobulle-3" class="infobulle" align="center">Attaque armée coute 3 Pa</div>';



if (
$viearrondi == 0){
echo
'<img border=1 src="image/soinjoueur.gif">';
}
else
if (
$vie == 100 ){
echo
'<img border=1 src="image/soinjoueur.gif">';
}
else
if (
$data['mana'] < 5) {
echo
'<img border=1 src="image/soinjoueur.gif">';
}
else{
echo
'<form style="margin:0px; padding:0px; display:inline" action="soinennemi.php" method="post">
<input type= "hidden" name="soinadversaire" value="'
.$data['pseudo'].'" />
<input style="margin:0px; padding:0px" type= "image" border=1 src="image/soinjoueur.gif" name="soigner" value="Soin" onclick="submit"/></form></td>'
;
}
}

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



}
mysql_free_result($sq);

}


En faites je voudrais que les données comme le pseudo, la vie avec le petit texte qui va avec s'affiche corectement les uns en dessous des autres, mais que les images des formulaires apparaissent les unes a coté des autres!

Ps : Si l'action n'est pas possible, on affiche simplement l'image dans mon code, merci a vous^^


RE: Probleme de TD dans un tableau - Maks - 22-04-2007

Salut,

Essai d'appliquer un style à tes <form> : style='margin:0px; padding:0px;' et dit moi si ça marche Wink


RE: Probleme de TD dans un tableau - Kassak - 22-04-2007

C'est deja mieux, il n'y a plus d'espace entre les images, mais elles sont toujours les unes en dessous des autresWink


RE: Probleme de TD dans un tableau - Maks - 22-04-2007

Fait la même chose pour tes input type='image' et faire d'abord la balise </td> avant de fermer </form> pour supprimer l'espace.

Si ça ça marche pas rajoute display:inline dans le style mais je suis pas sûr de ce que j'avance...


RE: Probleme de TD dans un tableau - Kassak - 22-04-2007

Nop, j'ai fais les trois ca ne marche pas, c'est vraiment chiant les formulaires, peuvent pas faire comme tout le monde non?^^


RE: Probleme de TD dans un tableau - Maks - 22-04-2007

Y'a peut être moyen avec des <div> et du CSS mais pour les tableaux je suis à cours d'idées, désolé.

EDIT : Je fais un petit edit pour te dire qu'il me revient que j'avais été confronté au même problème et que j'avais finalement adopté une solution en AJAX pour faire l'envoi en post et que je m'étais servi de la balise <a> alliée à un style pour la forme et un onclick="" pour envoyer les données.


RE: Probleme de TD dans un tableau - Kassak - 22-04-2007

L'ajax c'est pour nettoyer le sol non?:p

Franchement je viens tout juste d'apprendre que le javascript c'est bien, faut pas trop m'en demander^^

Sinon pour le moment ce n'est pas bien grave, mais je trouve bizare que ca ne veuille pas marcher


RE: Probleme de TD dans un tableau - Maks - 22-04-2007

En tout cas j'avais pas su trouver de solution avec envoi POST pour la mise en forme sans javascript. Bonne chance dans tes recherches Wink


RE: Probleme de TD dans un tableau - Haiken - 22-04-2007

A priori, un display:inline sur la balise form (et non pas img) devrait fonctionner, tu as essayé ?
(sinon postes ici un bout du code html généré)


RE: Probleme de TD dans un tableau - Kassak - 22-04-2007

nop a marche pas non plus, un bout du code HTML généré? c'est a dire?

J'ai édité mon 1er pst avec le code modifié selon ce que vous m'avez dit