begin process at 2012 05 30 20:37:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Mon premier script et je bloque...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mon premier script et je bloque...

vendredi 15 septembre 2006 à 17:10:07 | Mon premier script et je bloque...

Andjety

Bonjour et merci d'avance pour ceux qui m'aideront
je vais essayer d'expliquer simplement mon souci, je souhaite réaliser en php/mysql un jeu inspiré wargame en tour par tour.

première étape je veux afficher une grille (échiquier) de 24x24 cases

et dans certaines cases, je souhaite afficher l'image de la pièce qui y figure tel que l'indique une table dans ma bdd

dans cette table en bref, j'ai :

id_unit
x_unit pour sa ligne
y_unit pour sa colonne

voilà ma toile de base et volà mon script php pour afficher la grille déjà :

<?php
echo '<table border="1" width="600" cellpadding="0" cellspacing="0" align="center" background="bg_battlefield.gif">',"\n";
echo '<tr>',"\n";
echo '<th scope="col">&nbsp;</th>',"\n";
for($y=1;$y<=24;$y++)
    {
    echo '<th scope="col">'.$y.'</th>',"\n";
    }
echo '</tr>',"\n";
   for($x=1;$x<=24;$x++)
      {
      echo '<tr>',"\n";
      echo '<th scope="row">'.$x.'</th>',"\n";
         for($y=1;$y<=24;$y++)
            {
            echo '<td height="25" width="25" align="center"> &nbsp; </td>',"\n";
            }
      echo '</tr>',"\n";
      }
echo '</table>',"\n";
?>

là tout va bien j'ai une jolie grille qui s'affiche, maintenant je voudrais faire un test du genre :

if $x == $x_unit and $y == $y_unit then echo "<img src... >";

sauf que dès que j'insère cette condition (syntaxée correctement pas comme ci-dessus) quelque soit l'endroit où je la mets ça colle pas bien avec la boucle qui génère la grille

quelqu'un aurait-il une idée pour ce truc qui doit être tout simple mais qui me bloque, pour un premier essai j'ai l'air malin

merci ;-)
vendredi 15 septembre 2006 à 17:56:00 | Re : Mon premier script et je bloque...

franco_se

Membre Club
si tu n'a qu'une seule piece a afficher, c'est simple, a la place de
# echo '<td height="25" width="25" align="center"> &nbsp; </td>',"\n";
tu met
# echo '<td height="25" width="25" align="center">';
# if ($x == $x_unit and $y == $y_unit) echo "<img src... >";
# echo '</td>',"\n";

mais si c'est tout l'echiquer a afficher, là c'est legerement different. tu doit ceer un tableau du type $tableau = array( $id_unit => $x_unit . ',' . $y_unit) ;
ainsi la piece d'id = 5 et de coordonnée x=3, y=2 apparaitera dans le tableau sous la forme 5 => "3,2"

pour creer, il suffit d'utiliser la table de ta base où se trouvent ces données, et une boucle while

puis il faut verifier si, lors de la creation de la grille, une piece s'y trouve. Pour ça, remplace
# echo '<td height="25" width="25" align="center"> &nbsp; </td>',"\n";
par
# echo '<td height="25" width="25" align="center">';
# if (in_array($x.",".$y, $tableau)) echo "<img src... >";
# echo '</td>',"\n";

si tu veux l'id de la pièce associé a ces coordonnées, c'est grace à
$id = array_search($x.",".$y, $tableau);

attention, j'ai codé ça sans tester .....
samedi 16 septembre 2006 à 10:27:57 | Re : Mon premier script et je bloque...

Andjety

merci, ça parait tellement simple une fois le bon truc ciblé ;-)

cependant ça ne marche pas aurais-je fait une erreur dans mon code  :

<?php
//connexion base de données
require "inc_connect.php";

// requête SQL pour sélectionner battle_unit
$sql = 'SELECT id_unit,x_unit,y_unit FROM battle_units';

// envoi la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

//  boucle pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
    // on crée le tableau des coordonnées des unités
    $tableau = array( $id_unit => $x_unit . ',' . $y_unit) ;
    }

// on ferme la connexion à mysql
mysql_close();

echo '<table border="1" width="600" cellpadding="0" cellspacing="0" align="center" background="bg_battlefield.gif">',"\n";
echo '<tr>',"\n";
echo '<th scope="col">&nbsp;</th>',"\n";
for($y=1;$y<=24;$y++)
    {
    echo '<th scope="col">'.$y.'</th>',"\n";
    }
echo '</tr>',"\n";
   for($x=1;$x<=24;$x++)
      {
      echo '<tr>',"\n";
      echo '<th scope="row">'.$x.'</th>',"\n";
         for($y=1;$y<=24;$y++)
            {
            echo '<td height="25" width="25" align="center">';
                if (in_array($x.",".$y, $tableau)) echo '<img src="images/gardes_cite.gif" />';
                else echo '&nbsp;';
            echo '</td>',"\n";
            }
      echo '</tr>',"\n";
      }
echo '</table>',"\n";
?>
samedi 16 septembre 2006 à 12:25:41 | Re : Mon premier script et je bloque...

franco_se

Membre Club
pour la requete sql, essaye ceci :

// requête SQL pour sélectionner battle_unit
// envoi la requête
$req = mysql_query("SELECT id_unit, x_unit, y_unit FROM battle_units") or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

$tableau = array();
while($data = mysql_fetch_array($req))
{
 $tableau[$data['id_unit']] =  $data['x_unit'] . ',' . data['y_unit'] ;
}

samedi 16 septembre 2006 à 12:25:52 | Re : Mon premier script et je bloque...

franco_se

Membre Club
Réponse acceptée !
pour la requete sql, essaye ceci :

// requête SQL pour sélectionner battle_unit
// envoi la requête
$req = mysql_query("SELECT id_unit, x_unit, y_unit FROM battle_units") or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

$tableau = array();
while($data = mysql_fetch_array($req))
{
 $tableau[$data['id_unit']] =  $data['x_unit'] . ',' . $data['y_unit'] ;
}

samedi 16 septembre 2006 à 13:40:53 | Re : Mon premier script et je bloque...

Andjety

encore merci effectivement c'était ça le souci


Cette discussion est classée dans : script, echo, premier, unit, bloque


Répondre à ce message

Sujets en rapport avec ce message

Un bug dans le script, quelqu'un voit la reponse? [ par benbax ] Voila le script : $dt=include("compteurDT.cpt"); //Contient le nombre x$msn=include("compteurMSN.cpt"); //Contient le nombre x$vnc=include("co UNE BOUCLE infernal HELP ME!!! [ par hoodlum ] Le problemes c ke o 2eme passage par pasage a l'url le script arrete d'etre executé a partir de la ou g mis le pointillé car le while n'est pas execut Optimiser un script [ par kd ] Bonjour à tous, pour afficher les champs de 3 tables (dont une intermédiaire : écrit), je fais une boucle imbriquée. J'ai essayé d'autres requêtes mai condtion if [ par youyou26 ] bonjour j'ai un petit problème avec un bout de script $djour= substr ($Dte, 0, 2); $dmois= substr($Dte, 3, 2); $dannee= substr($Dte, 6, 4); echo ""; Problème avec la fonction echo [ par Sinouplen ] Bonjour,J'aimerais avoir un petit renseignement à propos de la fonction echo.J'aimerais faire unecho "secure() ?>" et que ça ne coupe pas l'execution Du HTML dans un script PHP [ par linkid ] Bonjour,voilà, depuis quelque temps, je me suis mit a faire un livre d'or en php et je suis en train de l'affinner... Mais pour cela, j'ai besoin de m Erreur script identification [ par DJ_BoOmEr ] Bonjour a tous, je suis débutant en programtion, et j'ai essayer de faire  un script d'ident tout bête. Mais lorsque j'éxécute le script il me met :Pa pb avec history.back() et firefox [ par kun00538 ] bonjour a tousvoila je debut en php, je vient de faire un script de soumission de formulaire avec controle de l'existance du login,dans ie netscape su Affichage de pièces sur un échiquier [ par Andjety ] Bonjour, on m'a bien aidé la dernière fois alors je reviens vers vous pour mon projet de jeu de bataille (échiquier en quelque sorte) et mes difficult appeler un script shell dans php [ par salim81 ] Bonjour; j'ai un script shell qui me retourne le pourcentage de la memoire utilisé.mon probleme c'est que  dans un script php comment recuperer ce pou


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales