|
Une map 5*5 : methode avec systeme et galaxie
|
| Auteur |
Message |
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
bon ben mtn le truc de mot de passe, connection et tout c'est reglé!
avec des echo dans le code j'arrive a afficher le pseudo, la galaxie, position et tou! donc le problème ne vient plu de là
je vous redonne le code complet:
<?php session_start();
mysql_connect("xxxx","", ""); mysql_select_db("xxxx");
$pseudo_membre = $_SESSION['pseudo']; $requete = mysql_query("SELECT * FROM membres 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 membres 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="galaxie.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="300" border="1" cellspacing="0" cellpadding="0" align="center" height="300">'; echo '<tr align="center" valign="middle" height="60">';//premiere ligne de la table
//on va chercher les autres joueurs presents sur cette galaxie et ce systeme
$sql = mysql_query("SELECT 'pseudo', 'galaxie', 'systeme', 'position' FROM membres 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="60">'; } 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="60" height="60"><img src="soleil.jpg" alt="soleil" height="60" width="60"></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="60" height="60"><img src="planete.jpg" alt='.$TabMAP2[$pos].' height="60" width="60"></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="60" height="60">'.$pos.'</th>'.$finligne; } } echo '</table>'; // on ferme le tableau
echo "$pseudo"; echo "$galaxie"; echo"$systeme"; echo"$position"; // ces echo affichent bien ce qu'ils doivent afficher
?>
j'avance, j'avance.... a pas de fourmi! en 3 jours et avec l'aide (bien que minime! lol) de jo, j'arrive toujours pas a afficher les pseudo a leurs place dans les cases de la galaxie....
estce que qqn a deja testé ce script?
|
|
| 09-03-2006 12:46 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
C'est bien cela le problème de faire du c/c de script donnés et de changer les variables après :s
La prochaine fois, essaye de t'en inspirer et de l'écrire toi 
Sinon, tu peut juste re-préciser ton problème, voire ce que nos aides ont changer ?
Merci
|
|
| 09-03-2006 01:46 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
et oui je m'avoue coupable...
mais ca fé pa vrémen lougtemps que jconé le php... et jdoi me dépecher d'en aprendre le + et de coder le + possible pour créer mon jeu avec jo car on a 16ans et avec la rentré ca sera super dur...
sinon jdisais que j'arrivait a afficher la valeur des variables $pseudo, $galaxie,$systeme et position avec des echo (a la fin du code) mais que j'arrivais pas a les mettre dans les "cases" du menu galaxie a proprement parler.
en fait dans les cases ca affiche le numero des positions, j'ai l'impression de toujours etre dans le "else" de cette partie du script:
// 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="60" height="60"><img src="planete.jpg" alt='.$TabMAP2[$pos].' height="60" width="60"></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="60" height="60">'.$pos.'</th>'.$finligne; }
Ce message a été modifié le: 09-03-2006 02:15 PM par max.
|
|
| 09-03-2006 02:15 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
Euh, juste une question, elle est définie ou ta variable $pos (j'éspère que c'est pas sa l'erreur sinon ) ?
Ce message a été modifié le: 09-03-2006 02:33 PM par Ssin.
|
|
| 09-03-2006 02:31 PM |
|
 |
carlou
Membre
Messages : 103
Groupe : Membre
Inscription : Aug 2006
Statut :
Hors ligne
Réputation : 2
|
RE: Une map 5*5 : methode avec systeme et galaxie
//on va chercher les autres joueurs presents sur cette galaxie et ce systeme
$sql = mysql_query("SELECT 'pseudo', 'galaxie', 'systeme', 'position' FROM membres WHERE galaxie ='".$galaxie."' and
ya une erreur ici
tu fais select 'pseudo' etc
faut virer les ' ' et ca marche nickel
|
|
| 09-03-2006 03:44 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
Il a dit qu'il arrivait à afficher les noms, donc je pense pas que ca vienne de la ...
Je crois surtout qu'il a pas défini $pos et donc que tout ton script ne peut pas marcher, car aucun if() peut etre éxécuter.
Tu as oublié selon moi de remplacer $pos par ta variable $position.
|
|
| 09-03-2006 03:50 PM |
|
 |
carlou
Membre
Messages : 103
Groupe : Membre
Inscription : Aug 2006
Statut :
Hors ligne
Réputation : 2
|
RE: Une map 5*5 : methode avec systeme et galaxie
nono tout le reste est bon, le $pos viens du for
g teste son script et c bien les ' ' le pb
|
|
| 09-03-2006 04:07 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
Alors pourquoi arrive t'il à les affichers avec echo ?
|
|
| 09-03-2006 04:19 PM |
|
 |
carlou
Membre
Messages : 103
Groupe : Membre
Inscription : Aug 2006
Statut :
Hors ligne
Réputation : 2
|
RE: Une map 5*5 : methode avec systeme et galaxie
tous ses echo a la fin fonctionnent (voir + haut)
ce qu'il n'arrivais pas à faire c'est voir son joueur sur la map et c'etait normal. a cause des ' ' sur les champs du select, si tu fais un echo $tabmap[$data['position']]; cela te donne "position" au lieu de "2" par exemple donc ca correspond pas au $pos et donc ca n'affiche rien sur la map....
Ce message a été modifié le: 09-03-2006 04:24 PM par carlou.
|
|
| 09-03-2006 04:24 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
Ah, d'accord 
Bah j'éspère pour lui que ca marchera également chez lui
|
|
| 09-03-2006 04:27 PM |
|
 |
|
|