=> Problème avec mon code <=

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : => Problème avec mon code <=

par zitO » 29 juil. 2005, 09:49

Merci, en faite " c'était un jeu d'enfant ". Je pense pas comme il faut :)

Merci encore 8)

par Cyrano » 29 juil. 2005, 09:46

Autant pour moi, j'ai oublié un détail:
<td><a href="membres_perso.php?id=<?php echo($id); ?>"><?php echo($pseudo); ?></a></td>

par zitO » 29 juil. 2005, 09:43

Salut,

Merci d'avoir corriger mes erreurs, c'est sympa :)

Je viens d'ailleurs de le tester mais il y a un léger problème ? Lorsque je clique sur les liens il me met un lien de ce style "membres_perso.php?id=$id" .

J'comprends pas pourquoi il ne met pas la valeur de $id ?
Merci d'avance

par Cyrano » 29 juil. 2005, 07:57

Salut,
d'abord, utilise les bons boutons: pour du code ou du PHP, ce n'est pas [quote] mais le bouton [code] ou [php]

Il manque ensuite un élément pour récupérer l'id dans ton code. Et ensuite tu doit autant que possible éviter de mélanger HTML et PHP : sépare les deux, il ne sert à rien de faire interprter le HTML par PHP. Voilà une proposition de corrigé, j'ai ajouté la ligne 27 :
<html>
<body>
<?
// Connexion à la base de données
mysql_connect('sql.free.fr','teampowa','d3ohfriz');
mysql_select_db('teampowa');

// Listes des membres
$requete = "select * from membres order by id"; // Affichage des membres dans l'ordre
$envoi = mysql_query($requete);
?>
<table width="220">
<?php
while($tableau = mysql_fetch_array($envoi)) //tant que la table na pa été examiner totalement
{
    $pseudo = $tableau['pseudo'];        //on recupere les valeur des champ et on les met dans des variable
    $id = $tableau['id'];
?>
  <tr>
    <td><a href="membres_perso.php?id=$id"><?php echo($pseudo); ?></a></td>
  </tr>
<?php
}
?>
</table>
<?php
$id = $_GET['id']; // <== l'info indispensable qui manquait : on récupère l'id dans l'url
// Récupération des infos des membres
$retour = "SELECT * FROM membres WHERE id='$id'";
$donnees = mysql_query($retour);
while($infos = mysql_fetch_array($donnees))
{
    $pseudo = $infos['pseudo'];
    $prenom = $infos['prenom'];
    $age = $infos['age'];
    $ville = $infos['ville'];
    $nationalite = $infos['pays'];
    if ($nationalite == 1)
    {
        $nationalite = '<img src="images/fr.png">';
    }
    elseif ($nationalite == 2)
    {
        $nationalite = '<img src="images/uk.png">';
    }
    elseif ($nationalite == 3)
    {
        $nationalite = '<img src="images/br.png">';
    }
    else
    {
        $nationalite = 'RIEN';
    }
    $msn = $infos['msn'];

    // On affiche les informations
?>
<table width='250'>
  <tr>
    <td>Pseudo : <?php echo($pseudo); ?></td>
    <td>Prénom : <?php echo($prenom); ?></td>
    <td>Age : <?php echo($age); ?></td>
    <td>Ville : <?php echo($ville); ?></td>
    <td>Pays : <?php echo($nationalite); ?></td>
    <td>MSN : <?php echo($msn); ?></td>
  </tr>
</table>
<?php
}
mysql_close(); // On ferme la connexion à la BDD
?>
</body>
</html>
Note également que j'ai corrigé ton HTML : une table est structurée : La tbale contient des lignes (<tr>) et chaque ligne contient des cellules (<td>) qui forment les colonnes. On ne met pas de contenu dans des lignes directement, il faut au minimum une cellule par ligne : donc:
<table>
  <tr>
    <tdContenu</td>
  </tr>
</table>

=> Problème avec mon code <=

par zito_ » 29 juil. 2005, 00:32

Hello tout le monde 8)

J'ai un problème avec un code. Je suis en train de faire une page avec une liste de membres. Chaque membre possède sa fiche personnelle.
Les liens seront du style : mapage?id=1
(Je n'ai pas d'autres façon pour afficher cela, si vous en avez une, n'hésitez pas à me la dire ! )

Voici mon code :
<html>
<body>
<?
		// Connexion à la base de données
		mysql_connect('sql.free.fr','teampowa','d3ohfriz');
		mysql_select_db('teampowa');

		// Listes des membres
		$requete = "select * from membres order by id"; // Affichage des membres dans l'ordre
		$envoi = mysql_query($requete);
		while($tableau = mysql_fetch_array($envoi)) //tant que la table na pa été examiner totalement
		{
		$pseudo = $tableau['pseudo'];		//on recupere les valeur des champ et on les met dans des variable
		$id = $tableau['id'];
		echo " 
		<table width=220>
		<tr><a href=\"membres_perso.php?id=$id\">$pseudo</a></tr>
		</table>";
		}
		
		// Récupération des infos des membres
		$retour = "SELECT * FROM membres WHERE id='$id'";
		$donnees = mysql_query($retour);
		while($infos = mysql_fetch_array($donnees))
		{
		$pseudo = $infos['pseudo'];
		$prenom = $infos['prenom']; 
		$age = $infos['age'];
		$ville = $infos['ville'];
		$nationalite = $infos['pays'];
				if ($nationalite == 1){
						$nationalite = '<img src="images/fr.png">';
				}
				elseif ($nationalite == 2){
				$nationalite = '<img src="images/uk.png">';
				}
				elseif ($nationalite == 3){
				$nationalite = '<img src="images/br.png">';
				}
				else {
				$nationalite = 'RIEN';
				}
		$msn = $infos['msn'];
		
		// On affiche les informations
		echo "
		<table width='250'>
		<tr>Pseudo : $pseudo </tr>
		<tr>Prénom : $prenom</tr>
		<tr>Age : $age</tr>
		<tr>Ville : $ville</tr>
		<tr>Pays : $nationalite</tr>
		<tr>MSN : $msn</tr>
		</table>";
		}
		
		
		mysql_close(); // On ferme la connexion à la BDD
		
		?>
</body>
</html>
:arrow: Page disponible ici

Je voudrais que, lorsque j'arrive sur "membres_perso.php", seul la liste des membres s'affiche et lorsque je clique sur le lien d'un membre celui-ci s'affiche en dessous de la liste des liens ( ce que j'ai essayer de faire )OU dans une autre page ( ce que je ne sais pas faire )

Je voudrais savoir comment bien coder tout ceci et ou sont mes erreurs? :P

:!: Je suis débutant alors soyez gentil :)

Merci d'avance
Guillaume