Forum Clubic

'Selon' en PHP avec ajout choix base MYSQL

:stuck_out_tongue: tout le monde…

je ne sais pas si c’est très compréhensible le titre mais je vois pas comment dire autrement… lol

Donc je m’explique. Je fais un site pour un clan counterstrike, et il y a des membres… J’ai une page d’ajout de membres, d’édition d’informations les concernants, et une page pour la suppression…
Le probleme c’est que pour affiché la page de consultation du membre dans une DIV il faut le mettre dans un selon… (vous suivez ? :heink: lol)
Donc jai mes autre page en case et je pensais à une boucle pour mettre les noms des membres (pris dans la base) dans le Selon

j’ai probablement une mauvaise synthaxe car jai comme erreur : Parse error: parse error, unexpected T_CASE in c:\crawdge\site\faif\index.php on line 68

(ligne 68 c’est le case de ma boucle

Merci d’avance ! :slight_smile:

[cpp]
if (isset($_GET[“page”])) $page = $_GET[“page”];
else $page = 0;

			switch ($page) {
				case '0'   				: include("news.php"); break;
				case 'news'            : include("news.php");break;
				case 'membres'          : include("membres.php");break;
				case 'wars'          : include("matchs.php");break;
				case 'dl'          : include("dl.php");break;
				case 'galerie'          : include("galerie.php");break;
				case 'liens'          : include("liens.php");break;
				case 'name' :
								$req = mysql_query("Select * from joueurs");
								$nbenreg= mysql_num_rows($req);
								for($i=1;$i<=$nbenreg;$i++)
								{
								$result = mysql_fetch_array($req); 
								case '$result'          : include("'.$result['Pseudo'].'.php");break;
								}
							break;
			default : include("news.php"); break;[/cpp]
  • C’est quoi un selon ?
  • Elle est où ta boucle ?
  • C’est une erreur de parenthèse ou de ’ mal fermé a mon avis

Ah ok j’ai capté ton code !
Tu peux pas faire une boucle dans un case qui refait un case ensuite !

[cpp]

case ‘name’ :

$req = mysql_query(“Select * from joueurs”);

$nbenreg= mysql_num_rows($req);

for($i=1;$i<=$nbenreg;$i++)

{

$result = mysql_fetch_array($req);

case ‘$result’ : include("’.$result[‘Pseudo’].’.php");break;

}

break;

[/cpp]

Ca ca colle pas

mince, j’ai rien trouvé d’autres :frowning:
je vois pas comment faire alors… :-/
merci de ton aide

pourquoi tu fais un case result ?
Si tu l’enlève ca fait pas ce que tu veux ?

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\crawdge\site\faif\index.php on line 68

(la 68 c’est la ligne avec le include auquel jai enlevé le case)
C’est une erreur de guillemets ca non?

t’as ptet raison… ah, quoi que… car en fait dans ma page membres, j’ai des liens vers les fiches personnelles, et en fonction du nom dumembres, ca va pas affiché la meme page… c’est pour ca que j’avais fait un espece de selon lol

include("’.$result[‘Pseudo’].’.php");

ca c’est pas bon

include($result[‘Pseudo’].’.php’);
la c’est mieux.

Salut,

Ce case ‘$result’ est également incorrect car tu cherchais à comparer $result (un tableau) avec $page (une chaîne). Tu peux facilement remplacer ce case par un simple if.

Ah j’ai plus l’erreur, mais ca ne me l’ouvre pas dans la div… :-/

enfin je crois ptet savoir pourquoi… c’est parce que jai pas de page avec les noms des membres mais une page pseudo.php avec apres en variable le pseudo…

et là mon lien c’est ca :

[cpp]<a href=“pseudo.php?name=’.$result[“Pseudo”].’”>’.$result[“Pseudo”].’[/url][/cpp]

je vois donc plus un truc de ce style, non ?

[cpp]include(“pseudo.php?name=’$result[‘Pseudo’]’”);break;[/cpp]

Tu devrais stocker toutes les données sur les membres dans une base de données (y compris les liens vers les fiches perso), et dans pseudo.php tu vas chercher les infos sur le membre dans la base, en fonction de son pseudo.
Tu n’as pas besoin de passer de paramètre au fichier php que tu inclues, car “lorsqu’un fichier est inclus, le code le composant hérite de la portée des variables de la ligne où l’include apparaît. Toutes les variables disponibles à cette ligne dans le fichier appelant seront disponibles dans le fichier appelé, à partir de ce point.” (Source : http://fr.php.net/manual/fr/function.include.php).

Tu devrais aussi réfléchir sur papier à la conception global de ton site, ca aide beaucoup pour justement ce genre de cas, savoir stocker quoi où :wink:

j’ai des infos dans une bdd, mais en fait, pour pas créé a chaque fois une page d’un membre, je préfère avoir qu’une seule page pseudo.php qui va cherché les infos d’une base de données…

euh attendez… parce que là ma boucel elle est pas bonne… car dès que je vais passé dans le ‘name’, dans le choix name donc, ca va inclure toutes les pages des membres non?
Comme la dis merlin7, il faudrai ptet mieux faire un test avec un IF dans la boucle pour regardé si c’est le bon membre qui est choisi, non?

Le truc que je capte pas c’est pourquoi tu fais pas passer l’id du membre dans ton adresse page=name&amp;id=18 (par exemple)
Et ensuite dans ta requète tu choppes les infos de ce membre UNIQUEMENT
SELECT * FROM joueurs WHERE ID = 18 (par exemple)

je fais ptet pas de la bonne manière, je suis débutant en php :stuck_out_tongue:

mais mon probleme c’est que quand je crérai un nouveau membre, il faudra bien que je puisse accedé a ses infos perso…
j’ai une page membres.php qui va cherché les pseudos de tout les membres et renvoi a une page perso, qui cherche les infos de ce membre (ceui d’où on vient de cliqué)… tout ca, ca marche pour l’instant, mais le probleme c’est que ca se mets pas dans ma DIV, ca s’ouvre en grand… :frowning:

C’est pourquoi j’aurai voulu mettre ca dans un selon, car en fonction du pseudo, ca ouvre la page pseudo.php?name= avec le pseudo d’où on vient de cliquer…

Il faudrait que tu nous montres le squelette de ta page, avec tes fameuses DIV pour qu’on comprenne comment tu veux afficher tes pages.

ok, voici ma page :

page index :
[cpp]

<? include('admin.html'); ?>
Statistiques du serveur #FaiF ! [/url]
<? include ('startsql.php'); if (isset($_GET["page"])) $page = $_GET["page"]; else $page = 0;
			switch ($page) {
				case '0'   				: include("news.php"); break;
				case 'news'            : include("news.php");break;
				case 'membres'          : include("membres.php");break;
				case 'wars'          : include("matchs.php");break;
				case 'dl'          : include("dl.php");break;
				case 'galerie'          : include("galerie.php");break;
				case 'liens'          : include("liens.php");break;
				case 'name' :
								$req = mysql_query("Select * from joueurs");
								$nbenreg= mysql_num_rows($req);
								for($i=1;$i<=$nbenreg;$i++)
								{
								$result = mysql_fetch_array($req); 
								include("pseudo.php?name='$result['Pseudo']'");
								}
							break;
			default : include("news.php"); break;	
		}
	?>
[/cpp]

page membres (tout les pseudos des membres) :
[cpp]

<?
include('startsql.php');
$resultat = mysql_query("Select * from joueurs");
$nbenreg= mysql_num_rows($resultat);

// on créer la requete SQL et on l'envoie 
$sql = 'SELECT * FROM joueurs'; 

// on envoie la requete 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

for($i=1;$i<=$nbenreg;$i++)
{
$result = mysql_fetch_array($req); 


print('</br>');
print('<center><table border="1" CELLPADDING="0" CELLSPACING="0" width="30%" bgcolor="#FFFFFF" bordercolor="#000000" style="border-style: solid">');
print('<tr><td><center><table border="0" width="100%">');
print('<td><font size="2"><center><strong><a href="pseudo.php?name='.$result["Pseudo"].'">'.$result["Pseudo"].'[/url]</strong></center></font></td>');
print('</table></center></td></tr>');
print('</table></center>');
}

?>&amp;nbsp;</td>
<td>&amp;nbsp;</td>
[/cpp]

page fiche perso :
[cpp]

<? $nom = $_GET['name']; include('startsql.php');
$req = mysql_query("Select * from joueurs where Pseudo = '$nom'") or die('Erreur SQL !<br>'.$resultat.'<br>'.mysql_error()); 

$result = mysql_fetch_array($req); 


print('</br>');
print('<center><table border="1" CELLPADDING="0" CELLSPACING="0" width="50%" bgcolor="#FFFFFF" bordercolor="#000000" style="border-style: solid">');
print('<tr><td><center><table border="0" width="80%">');
print('<td colspan="2"><font size="3"><center><strong>'.$result["Pseudo"].'</strong></center></font></td></tr>');
print('<tr><td><strong><font size="2">Age</strong></font></td><td align="right">'.$result["Age"].'</td></tr>');
print('<tr><td><strong><font size="2">Ville</strong></font></td><td align="right">'.$result["Ville"].'</td></tr>');
print('<tr><td><strong><font size="2">Mail</strong></font></td><td align="right">'.$result["mail"].'</td></tr>');
print('<tr><td><strong><font size="2">Msn</strong></font></td><td align="right">'.$result["msn"].'</td></tr>');
print ('<tr></tr>');
print('<tr><td><strong><font size="2">Processeur</strong></font></td><td align="right">'.$result["Processeur"].'</td></tr>');
print('<tr><td><strong><font size="2">Mémoire</strong></font></td><td align="right">'.$result["Memoire"].'</td></tr>');
print('<tr><td><strong><font size="2">Carte Mère</strong></font></td><td align="right">'.$result["CM"].'</td></tr>');
print('<tr><td><strong><font size="2">Souris</strong></font></td><td align="right">'.$result["Souris"].'</td></tr>');
print('<tr><td><strong><font size="2">Ecran</strong></font></td><td align="right">'.$result["Ecran"].'</td></tr>');
print('<tr><td><strong><font size="2">Système d\'exploitation</strong></font></td><td align="right">'.$result["SE"].'</td></tr>');
print('<tr><td><strong><font size="2">Connexion</strong></font></td><td align="right">'.$result["connexion"].'</td></tr>');
print('<tr><td><strong><font size="2">Fournisseur</td><td align="right">'.$result["Fournisseur"].'</td></tr>');
print('<tr><td><strong><font size="2">Carte préféré</td><td align="right">'.$result["map"].'</td></tr>');
print('</table></center></td></tr>');
print('</table></center>');
print('<BR />');

?>
  <div align="center"></div>
  <div align="center"></div></td>
[/cpp]

merci

tu peux pas inclure un fichier en lui passant des variables en GET ^^
include(“pseudo.php?name=’$result[‘Pseudo’]’”);

La tu passeras pas de name !

Dans ton index tu mets juste ça ->
$nom = $result[‘Pseudo’];
include(“pseudo.php”);

et dans pseudo.php, tu vires le $nom = $_GET[‘name’];

le $nom = $_GET[‘name’]; c’est pour prendre de la page membre a laa page pseudo…
j’en ai besoin pour savoir a quel membre on va voir la fiche

sinon bah ac change rien, ca remets dans une grande fenetre, pas ma DIV :frowning: