|
Une map 5*5 : methode avec systeme et galaxie
|
| Auteur |
Message |
Ssin
Membre
Messages : 227
Groupe : Membre
Inscription : Aug 2006
Statut :
Hors ligne
Réputation : 1
|
RE: Une map 5*5 : methode avec systeme et galaxie
Je parlais du concaténage qui ralentit
|
|
| 09-02-2006 05:05 AM |
|
 |
max
Membre
Messages : 340
Groupe : Membre
Inscription : Sep 2006
Statut :
Hors ligne
Réputation : 1
|
RE: Une map 5*5 : methode avec systeme et galaxie
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:
<?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 == 5 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.)
Ce message a été modifié le: 09-02-2006 12:23 PM par max.
|
|
| 09-02-2006 09:38 AM |
|
 |
Ssin
Membre
Messages : 227
Groupe : Membre
Inscription : Aug 2006
Statut :
Hors ligne
Réputation : 1
|
RE: Une map 5*5 : methode avec systeme et galaxie
Tu n'a pas dis si notre code marchait
|
|
| 09-02-2006 11:03 AM |
|
 |
alfanor
Membre
Messages : 133
Groupe : Membre
Inscription : Aug 2006
Statut :
Hors ligne
Réputation : 2
|
RE: Une map 5*5 : methode avec systeme et galaxie
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.)
|
|
| 09-02-2006 11:27 AM |
|
 |
Ssin
Membre
Messages : 227
Groupe : Membre
Inscription : Aug 2006
Statut :
Hors ligne
Réputation : 1
|
RE: Une map 5*5 : methode avec systeme et galaxie
Dans ton jeu, le menu Galaxie m'affiche une page normal oO
|
|
| 09-02-2006 11:31 AM |
|
 |
max
Membre
Messages : 340
Groupe : Membre
Inscription : Sep 2006
Statut :
Hors ligne
Réputation : 1
|
RE: Une map 5*5 : methode avec systeme et galaxie
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?
|
|
| 09-02-2006 11:55 AM |
|
 |
Ssin
Membre
Messages : 227
Groupe : Membre
Inscription : Aug 2006
Statut :
Hors ligne
Réputation : 1
|
RE: Une map 5*5 : methode avec systeme et galaxie
Tu clique la dessus :
|
|
| 09-02-2006 11:58 AM |
|
 |
j-12
Membre
Messages : 130
Groupe : Membre
Inscription : Sep 2006
Statut :
Hors ligne
Réputation : 0
|
RE: Une map 5*5 : methode avec systeme et galaxie
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
|
|
| 09-02-2006 12:26 PM |
|
 |
Ssin
Membre
Messages : 227
Groupe : Membre
Inscription : Aug 2006
Statut :
Hors ligne
Réputation : 1
|
RE: Une map 5*5 : methode avec systeme et galaxie
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 
Essaye voire, ca si ca n'affiche rien, c'est que sa ne séléctionne rien dans ta BDD
|
|
| 09-02-2006 12:30 PM |
|
 |
max
Membre
Messages : 340
Groupe : Membre
Inscription : Sep 2006
Statut :
Hors ligne
Réputation : 1
|
RE: Une map 5*5 : methode avec systeme et galaxie
pour ne pas prendre trop de place je ne copie le code qu'a partir de ca:
<?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
Ce message a été modifié le: 09-02-2006 12:38 PM par max.
|
|
| 09-02-2006 12:38 PM |
|
 |
|
|