Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

afficher images

6 réponses
Avatar
jeancito
Bonjour à tous !

Je souhaiterais afficher les images d'un repertoire
sur 3 rangées et 3 colonnes.

while($list=readdir($repertoire){
echo " <table><tr><td>$list</td><td>$list</td><td>$list></td></tr>
</table>";

comment faire pour disposer d'images différentes ?

Merci d'avance pour vos indications

Jean Marc

6 réponses

Avatar
Paul Delannoy
jeancito a écrit:
Bonjour à tous !

Je souhaiterais afficher les images d'un repertoire
sur 3 rangées et 3 colonnes.

while($list=readdir($repertoire){
echo " <table><tr><td>$list</td><td>$list</td><td>$list></td></tr>
</table>";

comment faire pour disposer d'images différentes ?


Commence par isoler <table> et </table>
Puis fait un compteur ($cpt par ex.) et teste la valeur de $cpt modulo
3: SI $cpt est un multiple de 3, il faut envoyer </tr><tr>, sauf au tout
début ($cpt ==0)

Merci d'avance pour vos indications
de rien



Jean Marc


Avatar
Blackdrone
Je me souvient avoir fait un script pour un tableau de n colone et n
ligne (tableau carré) ou chaque image etait recuperée dans une table
Mysql en fonction de ses coordonnées par rapport a une map de 200x200
cases...

Si ca t'interesse je le posterais ce soir.
Avatar
jeancito
Merci beaucoup pour ta proposition que j'accepte avec plaisir !

Jean Marc

"Blackdrone" a écrit dans le message de news:

Je me souvient avoir fait un script pour un tableau de n colone et n
ligne (tableau carré) ou chaque image etait recuperée dans une table
Mysql en fonction de ses coordonnées par rapport a une map de 200x200
cases...

Si ca t'interesse je le posterais ce soir.


Avatar
Blackdrone
Désolé, je t'ai un peu 'oublié' je poste ca ce soir ou a midi.

(je vais essayer de nettoyer/raccorucir le code aussi ou l'expliquer.)
Avatar
Blackdrone
Desolé, je n'ai pas pu recuper la base de donnée, un crash de mon HDD
la detruite... Sniff...
Pour cette portion de code, tu ne devrais pas avoir besoin de la bdd
c'est pas trop compliqué.

Alors ce script sevrait a afficher une carte de perceptionxperception ,
representant le champ de vision d'un personnage.
C'etait dans le cadre d'un jeu de role en ligne avec une vue un peu a
la zelda.
En fait cette table de $perc x $perc est une 'fenetre' affichant une
map bien plus grande.
Le jeu n'est resté qu'un projet, ma base de donnée (et ttes mes
belles sauvegardes .sql) ayant étées detruite. apres ca perte de
motivation, pas envie de refaire ce qui avait deja été fait.

Si ya des trucs que tu comprends pas, demande :)

@ plus

(je ne bosse pas du tout dans le monde de l'info, desolé si c'est tres
mal pensé/ecrit)



<?

function grille($mat){
include("include/style.php") ;


echo '<script language="javascript">function w() {
w = window.open("","info","toolbar=no, location=no, directories=no,
status=no, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=no,
widthe0, height50");
w.focus();
}</script>';

echo '<div id="Layer34" style="position:absolute; left:280px; top:10px;
width:400px; height:100px; z-index:4 ;" >' ;







if ( getenv("REMOTE_ADDR") == "127.0.0.1") { $local "http://127.0.0.1/cprime/" ; } else {
$local = "http://satanixmachine.no-ip.org/cprime/" ;}

//ca c'etait pour pouvoir visionner les pages en local



//recuperation des carracteristiques du personnage .

$carracs = calcar($mat) ; //on charge la reponse d'une requete sql dans
un tableau '$mat etant le matricule (l'id) du joueur une fois
identifié'
$perception = $carracs['perception'] ; //on recupere sa valeur de
perception (determinante pour la largeur du tableau)

// recuperation de la position du personnage et du nom de sa map ;
$sql = "SELECT * FROM map WHERE type = 'joueur' and mat = '$mat'";
$req = mysql_query($sql);
$rep = mysql_fetch_object($req);

$posx = $rep->x ;
$posy = $rep->y ;
$posz = $rep->z ;
$map = $rep->ville ; //plusieurs map etaient stockée sur la meme
table (ca servait aussi a definir si le perso etait dans un batiment)

$sql_perso = "SELECT * FROM joueur_stats WHERE mat = '$mat'" ;
$req_perso = mysql_query($sql_perso) ;
$rep_perso = mysql_fetch_object($req_perso) ;


if($map == 'pandemonium'){ // quand le perso etait mort (Hp
negatif) il etait a pandemonium :D
echo "Vous etes mort. <br>n" ;
echo "<a href='respawn.php'>Respawn... </a><br>n" ; // donc on le
renvoayit vers une page reincarnation (jsuis pas un salop)
exit ;
}

//echo "position :<br>X =".$posx."<br>Y = ".$posy."<br>Z = ".$posz."n"
; //debugging

//preparation au scan des cases dans le champ de vision ...
//perception est connue .

//case en haut a gauche .

$casex = $posx - $perception ;
$casey = $posy + $perception ;

//echo "position de la case en haut a gauche :<br>X =".$casex."<br>Y
=".$casey."<br>n" ; //debugging

//scan !
$permax = 2 * $perception + 1 ;

//scan en Y !
for($a=0 ;$a<$permax ;$a++){ //on liste les objets qui serait par
terre pour pouvoir les afficher

for($b=0 ;$b<$permax ;$b++){ //scan en X !
$sqlscan = "SELECT * FROM map WHERE x = '$a' AND y = '$b' AND ville '$rep->ville'";
$reqscan = mysql_query($sqlscan);

while($repscan = mysql_fetch_array($reqscan)) { //listage de tous
les item par case .

echo $repscan['act'] ;

}
}
}



//tracage du champs de vision c'est la que ca doit pouvoir t'aider
echo "<table border=0 echo bgcolor=#C0C0C0 cellspacing=0>n"; //je
commence le tableau


for($a=0 ;$a<$permax ;$a++){ //Je commence les boucle pour les lignes
: <tr></tr>
echo " <tr>n";

for($b=0 ;$b<$permax ;$b++){ //scan en Y ! //Je commence les boucle
pour les colonnes : <td></td>

$x = $casex + $b ;
$y = $casey - $a ;

$numvehic0 = 0 ;
$sqlcase1 = "SELECT * FROM map WHERE x='$x' AND y = '$y' AND type 'vehic' AND visible = '1' AND ville = '$rep->ville'";
$reqcase1 = mysql_query($sqlcase1);
$numvehic1 = mysql_affected_rows() ;
if( isset($numvehic1) ){$numvehic0 = mysql_affected_rows() ; } //je
liste les vehicule

$numbat0 = 0 ;
$sqlcase2 = "SELECT * FROM map WHERE x='$x' AND y = '$y' AND type 'bat' AND visible = '1' AND ville = '$rep->ville'";
$reqcase2 = mysql_query($sqlcase2);
$numbat2 = mysql_affected_rows() ; //je liste les batiments

if( isset($numbat2)){
$numbat0 = mysql_affected_rows() ;
$repcase2 = mysql_fetch_object($reqcase2) ;
}

$numobj0 = 0 ;
$sqlobj2 = "SELECT * FROM map WHERE x='$x' AND y = '$y' AND type 'objet' AND visible = '1' AND ville = '$rep->ville'";
$reqobj2 = mysql_query($sqlobj2);
$numobj2 = mysql_affected_rows() ;

if( isset($numobj2)){
$numobj0 = mysql_affected_rows() ;
$repobj2 = mysql_fetch_object($reqobj2) ;
}





//echo "X = ".$x." Y = ".$y ;


$sqlcase = "SELECT * FROM map WHERE x='$x' AND y = '$y' AND type 'joueur' AND ville = '$rep->ville'";
$reqcase = mysql_query($sqlcase);
$numperso = mysql_affected_rows() ;
$count = 0 ;
while($rep_pers = mysql_fetch_array($reqcase) ){
$ql = "SELECT * FROM joueur_stats WHERE mat = '$rep_pers[mat]'" ;
$eq = mysql_query($ql) ;
$ep = mysql_fetch_object($eq) ;

if( ($ep->camoufler > $rep_perso->jet_obs || $ep->planque >
$rep_perso->jet_obs) && $ep->mat != $mat){ $count++ ;}
}

$numperso = $numperso - $count ;


echo "<td widthU heightU ;
background=".$local."/images/bg/x".$x."y".$y.".gif title='".$numperso."
Personnages "; // la je commence a ecrire vraiment du html (je recupere
l'image dans un repertoire : le nom de l'image est sa coordonnée)

if($numvehic0 > 0) {

echo $numvehic0." Vehicules" ; //
}

echo "' ><center>";

if ($numperso>0 && $numvehic0 == '0'){
echo "<b><font size=-3 color=#FF0000 face='".$font_grille_perso."'><a
href='".$local."info_pers_case.php?x="; //j'ecris un lien allant vers
une page de detail sur le personnage visible

echo $x."&y=".$y."' onclick='w()' target='info' >";
echo $numperso ;
echo "P";
if ( $numobj0 > 0){ echo " -".$numobj0."O" ; };

echo "</a></b></font>" ; }

if ( $numobj0 > 0 && $numvehic0 == 0 && $numperso == 0){
echo "<font size=-3 color=#FF0000
face='".$font_grille_perso."'><b><a
href='".$local."info_pers_case.php?x=";
echo $x."&y=".$y."' onclick='w()' target='info' >";
echo "".$numobj0."O" ;
echo "</a></b></font>" ;
};



if ($numvehic0 > 0 ){
echo "<a href='".$local."info_pers_case.php?x=".$x."&y=".$y."'
onclick='w()' target='info' >";
echo "<img src='";
$sqlcar = "SELECT * FROM map WHERE x = '$x' AND y = '$y' and type 'vehic' AND ville = '$rep->ville' ";
// on s'en branle pr l'instant .


echo $local."images/caisses/caisse1.JPG" ;
echo "'></a></font><center>"; //si un vehicule est present, je
l'affiche en image par dessus le background

}


if ($numbat0 > 0 ){
echo "<b><font size=-3 color=red face='".$font_grille_bat."' ><a
href='".$local."info_bat.php?idx=";
echo $repcase2->mat."' onclick='w()' target='info' >" ;

echo "bat</a></b><br>" ; // idem pour un batiment




echo "</font><center>";

}







echo "</center></td>n"; // fin de la case </td>










}
echo " </tr>n"; fin de la ligne </tr>

}


echo"</table></div>n";

}
Avatar
Iragaël
Le plus simple est d'incrémenter un compteur dans la boucle qui liste
toutes les images et si le compteur arrive à 3 il est remis à 0 et on
affiche "</tr><tr>" en plus, sinon on affiche juste "<td>$valeur</td>"
En gros :

echo "<table><tr>";
$i = 0;
while($list = readdir($repertoire))
{
echo "<td>$list</td>"; // j'affiche ma cellule
$i++; // je passe à la colonne suivante
if($i > 2) // si je suis en fin de ligne
{
// je reviens à la ligne
$i = 0;
echo "</tr><tr>";
}
}
echo "</tr></table>";