JeuWeb - Crée ton jeu par navigateur

Version complète : [Carte] Système et galaxie
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Pages : 1 2 3 4 5 6 7 8
Je parlais du concaténage qui ralentit 15
bonjour, je suis "l'associé" de jo (celui qui vous a expliqué précédament notre problème)
je vais commencer par le début en détaillant tout bien:
j'ai tout d'abord créé une table membre contenant 2 champ:
- un champ id en auto_increment
- un champ pseudo

j'ai ensuite créé une table carte contenant 4 champ:
-pseudo
-galaxie
-systeme
-position

ces 2 tables s'apellent respectivement table_membre et table_carte. (j'ai pris les memes noms que dans le code! et oui je suis flemard! lol)

notre code est celui ci:

Code PHP :
<?php
session_start
();
// j'ai volontairement mis des xxxxx! lol
mysql_connect("xxxxxxx","xxxxxx""xxxxxxx");
           
mysql_select_db("xxxxxx");
           
$pseudo_membre $_SESSION['pseudo'];
$requete mysql_query("SELECT * FROM table_membre WHERE `pseudo`='$pseudo_membre'") or die(mysql_error());
$var mysql_fetch_array ($requete);

   
$id $var['id'];
   
$pseudo $var['pseudo'];
   
// jusqu'ici, c'est comme d'hab, on viens chercher les
// informations du joueur.

// recuperation des positions sur la carte du joueur
$requete2 mysql_query("SELECT * FROM table_carte WHERE `pseudo`='$pseudo_membre'") or die(mysql_error());
$var2 mysql_fetch_array ($requete2);
   
$galaxie $var2['galaxie'];
   
$systeme $var2['systeme'];
   
$position $var2['position'];

//Changement de vue   
if (isset($_POST['galaxie_select']) and isset($_POST['systeme_select']))  // Si cangement de vue
{   
// si on a changé de vue, les coordonnee changent
$galaxie $galaxie_select;
$systeme $systeme_select;

}
else {
//sinon on garde les coordonnees du joueur
$galaxie $galaxie;
$systeme $systeme;
   }   



// Affichage de la barre de changement de galaxie et systeme
echo '<form action="carte.php" method="post">';
echo 
'Galaxie : ';   
         echo 
'<select name="galaxie_select">';
         
// on affiche la selection du systeme, ici 10 pour le test
            
for($galaxie_select=1;$galaxie_select<=10;$galaxie_select++){
               if (
$galaxie_select == $galaxie){
                  
$selected 'selected';
            }
            else {
                     
$selected '';
                     }
                     
            echo 
'<option value="'.$galaxie_select.'"'.$selected.'>'.$galaxie_select.'</option>';
            }
         echo 
'</select>';
         
echo 
' - Systeme : ';   
         echo 
'<select name="systeme_select">';
         
// on affiche la selection du systeme, ici 200
            
for($systeme_select=1;$systeme_select<=200;$systeme_select++){
         if (
$systeme_select == $systeme){
                  
$selected 'selected';
            }
            else {
                     
$selected '';
                     }
         echo 
'<option value="'.$systeme_select.'"'.$selected.'>'.$systeme_select.'</option>';
            }
         echo 
'</select>';
      echo 
'<br><br>';
echo 
'<input type="submit" value="Changer de carte"></form>';
// fin de l'Affichage de la barre de changement de galaxie et systeme



//depart de la carte
echo '<br><br><table width="500" border="1" cellspacing="0" cellpadding="0" align="center" height="500">';
   echo 
'<tr align="center" valign="middle" height="100">';//premiere ligne de la table

//on va chercher les autres joueurs presents sur cette galaxie et ce systeme
$sql mysql_query("SELECT * FROM table_carte WHERE galaxie ='".$galaxie."' and systeme ='".$systeme."' ORDER BY position DESC") or die(mysql_error());


while (
$data mysql_fetch_array($sql)) {
if (empty(
$TabMAP[$data['position']]))
   
$TabMAP[$data['position']] = $data['position']; //je cree un tableau avec les positions
   
$TabMAP2[$data['position']] = $data['pseudo']; //je cree un tableau avec les pseudos
}
mysql_free_result($sql);

for(
$pos=1;$pos<=25;$pos++){ // on definit la taille de la carte - ici 25 cases

//*****Gestion des fins de lignes*****
if ($pos == or $pos == 10 or $pos == 15 or $pos == 20){
// si on arrive en fin de ligne
//on ferme la ligne et on va a la ligne suivante
$finligne '</tr><tr align="center" valign="middle" height="100">';
 }
elseif (
$pos == 25){
// si on arrive en fin de tableau
//on ferme le tableau
$finligne '</tr>';
 }
//sinon
else
{
   
//on reste sur la meme ligne
   
$finligne '';
}
//*****fin de la Gestion des fins de lignes*****

// si case 13 (centre de la carte), on affiche le soleil
if ($pos == 13){
echo 
'<th align="center" valign="middle" width="120" height="120"><img src="soleil.jpg" alt="soleil" height="120" width="120"></th>'.$finligne;
}   
else
// si un autre joueur existe sur une position de la carte
if(!empty($TabMAP[$pos])){
//on affiche sa flotte
echo '<th align="center" valign="middle" width="100" height="100"><img src="planete.jpg" alt='.$TabMAP2[$pos].' height="100" width="100"></th>'.$finligne;
}         
else 
//sino
{
// on affiche rien (moi j'ai mis les autres positions pour le test. suffit de faire ctrl+a pour voir apparaitre les positions
echo '<th align="center" valign="middle" width="100" height="100">'.$pos.'</th>'.$finligne;
 }
}
echo 
'</table>'// on ferme le tableau

mysql_close();
?>
sur mes 2 tables j'ai créé quelques pseudo avec leurs positions pour tester
mais rien ne s'affiche dans les cases... ni image de planète, ni pseudo, il y a juste dans les cases leurs numéros de position
le résultat est visible a l'adresse http://soleilguerre.ifrance.com/ en allant dans le menu galaxie (je vous rassur le nom n'est pas soleilguerre! lool ce n'es qu'une page test!)

s'il y a un point que vous ne comprenez pas, demandez moi! (a moi ou a jo)
j'espère que vous pourez nous aider! et merci

ps: surtout n'imaginez pas qu'on est deux gros flemards qui n'ont fait que copier coller le code et qui veulent des expliquation car je peu vous jurer qu'on est dessus a chercher depuis une journée! hier soir on a été 3h de suite dessus a galérer sans succes avant d'enfin vous demander.)
Tu n'a pas dis si notre code marchait 16
Et il faudrait que vous appreniez à utiliser les balises php lorsque vous mettez du code dans votre message, car noir sur blanc c'est illisible (ou bien faut y passer une heure à part si l'on fait copier/coller dans un éditeur de texte qui colore la syntaxe.)
Dans ton jeu, le menu Galaxie m'affiche une page normal oO
une page normal? c a dire?
moi je veut dire que le but c'est que dans les cases, au lieu d'avoir seulement les numero ben y faudrais aussi qu'on puisse voir les pseudo et ca j'y arrive pas...

ps: comment on colorie les balises php quand on post sur le forum?
Tu clique la dessus : [Image: php.gif]
j'ai recopier ce que vous m'aviez passer, ça n'a pas marcher, j'ai éssayer de motifier, ça n'a pas encore marcher...

le gros problème, c'est quand ça n'affiche pas d'erreur. Normalement, 2 planètes doivent apparaître mais ça affiche toujours des numéros.

je doit m'absente toute l'après midi

bonne fin de journée
Si je je peut te donner un conseil, quand une variable n'affiche rien, fait des echos des variables de ton script, ca te prend 5 mins et ca permet de voir quelles variables marchent, et lesquelles ne marchent pas.

Apres, tu regarde ou la variable qui marche pas est définie et généralement, tu trouve ton problème 16

Essaye voire, ca si ca n'affiche rien, c'est que sa ne séléctionne rien dans ta BDD 16
pour ne pas prendre trop de place je ne copie le code qu'a partir de ca:

Code PHP :
<?php
$id 
$var['id'];
   
$pseudo $var['pseudo'];
   
// jusqu'ici, c'est comme d'hab, on viens chercher les
// informations du joueur.

// recuperation des positions sur la carte du joueur
$requete2 mysql_query("SELECT * FROM table_carte WHERE `pseudo`='$pseudo_membre'") or die(mysql_error());
$var2 mysql_fetch_array ($requete2);
   
$galaxie $var2['galaxie'];
   
$systeme $var2['systeme'];
   
$position $var2['position'];

// en dessous j'ai ajouté le code pour afficher les valeurs des variable

echo"$pseudo";
echo
"$galaxie";
echo
"$systeme";
echo
"$position";
?>




mais ca ne m'affiche rien.....
ca doit etre un problème sur la base de donnée mais je ne vois pas du tout d'ou ca peut venir
Pages : 1 2 3 4 5 6 7 8
URLs de référence