Cellule tableau php sql [Résolu]

Messages postés
25
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
26 janvier 2012
- - Dernière réponse : jolina87
Messages postés
25
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
26 janvier 2012
- 25 mai 2010 à 16:37
Bonjour,
je veux vos aides s.v.p. je veux afficher les coordonnées d'un étudiant, c.à.d j'ai récupéré le nom et le prénom dans un tableau et j'ai associer une icone d'affichage, je veux quand je clique sur cette bouton tous les coordonné de ce étudiant s'affiche dans une autre page.voici au je suis arrivé mai après je suis planté.
c'est le code de Affiche_liste_etudiant.php:
$sql = 'SELECT  Nom, Prenom FROM Etudiant';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error()); 
echo ''.\"\n\";

// première ligne on affiche les titres pr
// on fait une boucle qui va faire un tour pour chaque enregistrement
echo '----
';
echo ' Nom: , ';
echo ' Prenom: , ';
echo ' Afficher: , ';
echo '
';
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
echo '----
';
echo '<center>'.$data['Nom'].'</center>, ';
echo '<center>'.$data['Prenom'].'</center>, ';
echo '<center>
</center>,
';
echo '';
}
  echo '
'."\n";

Mais au niveau de Affiche.php j'arrive pas a trouver la condition a mettre pour qu'il m'affiche les coordonnées de l'étudiant sélectionnées
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
9
3
Merci
Bonjour,

Dans ta table Etudiant, as tu un identifiant unique (ID) ? Si non ce serais pas mal d'en mettre un pour faire :
<?php
$sql = 'SELECT  ID, Nom, Prenom FROM Etudiant';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error()); 
echo ''.\"\n\";

// première ligne on affiche les titres pr
// on fait une boucle qui va faire un tour pour chaque enregistrement
echo '----
';
echo ' Nom: , ';
echo ' Prenom: , ';
echo ' Afficher: , ';
echo '
';
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
echo '----
';
echo '<center>'.$data['Nom'].'</center>, ';
echo '<center>'.$data['Prenom'].'</center>, ';
echo '<center>
</center>,
';
echo '';
}
  echo '
'."\n";
?>

Ce qui te permanentais dans ta page Affiche.php de faire ton SELECT avec l'id (En sécurisant tout ca) passé en paramètre d'url.

_________________________________
Min iPomme

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 131 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Tonio_35
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
9
3
Merci
vérifie bien les nom de tes variables :

id : Nom de la variable d'url GET (De préférence en minuscule...
Id : Nom de ta colonne dans ta DB

// Page liste
echo '<td><center>

// Page détail
$id = isset( $_GET[' id '] );
//...
$sql ='SELECT * FROM Etudiant where Id = '.$id.'';

De plus pour sécuriser ton code :
<?php
// Si l'id n'est pas défini ou que c'est pas un entier on affiche erreur
if(!isset($_GET['id']) || !is_int($_GET['id']))
{
    echo 'Identifiant non valide
';
}
else
{
    $sql='SELECT * FROM Etudiant where Id = '.$_GET['id'].'';
    $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
// ...
?>

[b]>>>!!! ATTENTION !!!<<<
Ici (pour des rasion de sécurité) tu peux utiliser directement $_GET['id'] dans ta requête uniquement car tu es sur que c'est un entier (suite au test is_int)... Sinon il fraudais passer par des mysql_real_escape_string comme je t'avais montré par le lien dans mon message précédent. /b


_________________________________
Min iPomme

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 131 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Tonio_35
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
9
3
Merci
Bon normalement tu as qu'un étudiant qui correspond à l'id spécifiée pour ta page affichage. Du coup tu n'es pas obligé de faire un while.

Ensuite comme tu te sert du nom des colonnes, je ferais un mysql_fetch_assoc plutôt qu'un mysql_fetch_array (Même si les deux marchent) :
<?php
$sql='SELECT * FROM Etudiant where Id = '.$id.'';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data =mysql_fetch_assoc($req);

echo 'Login: '.$data['Login'].'

'; 
echo 'Mot de passe: '.$data['Password'].'

'; 
echo 'Nom : '.$data['Nom'].'

'; 
echo 'Prenom: '.$data['Prenom'].'

';
echo 'Date de naissance: '.$data['Date_de_naiss'].'

'; 
//....
?>

Ensuite j'avais pas vu mais ton code HTML n'est pas correct sur cette ligne :
echo '<td><center>[Affiche.php?id='.$data['ID'].' </center></td>
';

1 - Ta balise ] n'est pas refermée avec un ;
2 - Tu as un
après ton </td> ;
echo '<td><center>[Affiche.php?id='.$data['ID'].' ]</center></td>';





_________________________________
Min iPomme

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 131 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Tonio_35
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
9
3
Merci
Ah oué mince :
if(!isset($_GET['id']) || !is_numeric($_GET['id']))
{
echo 'Identifiant non valide
';
}

En effet, is_int, il faut que ta variable soit déclarée comme un int :
int $toto = 10;

Or ici $_GET['id'] est une variable d'url, toujours considérée comme une chaine de caractères. Pour palier a ca on utilise is_numeric...



_________________________________
Min iPomme

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 131 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Tonio_35
Messages postés
25
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
26 janvier 2012
0
Merci
oui jai Id dans ma table Etudiant et jai essayé dans Affiche.php quelque chose comme ce:
$id = isset( $_GET['Id'] );
if( $id == 0 )
  echo 'Identifiant non valide
';
else{
$sql='SELECT * FROM Etudiant where Id = '.$id.'';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_array($req)){
echo 'Login: '.$data['Login'].'

'; 
echo 'Mot de passe: '.$data['Password'].'

'; 
echo 'Nom : '.$data['Nom'].'

'; 
    echo 'Prenom: '.$data['Prenom'].'

';
    echo 'Date de naissance: '.$data['Date_de_naiss'].'

'; 
echo 'E mail: '.$data['E_mail'].'

'; 
    echo 'Etablissement: '.$data['Etablissement'].'

'; 
    echo 'Specilaité: '.$data['Specialite'].'

';
    echo 'Niveau: '.$data['Niveau'].'

';  	
echo'
';
}
mysql_free_result ($req);}


Mai il m'affiche toujours Identifiant non valide
Commenter la réponse de jolina87
Messages postés
25
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
26 janvier 2012
0
Merci
Merci Monsieur pour ton aide, mai j'ai un dernier soucie que quand je clique sur l'icône affiche dans la barre je trouve l'id associer mai il m'affiche rien. j aime bien que vous m'aidez a cet etape
Commenter la réponse de jolina87
Messages postés
25
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
26 janvier 2012
0
Merci
dsl monsieur pour le dérangement mai sincèrement j'arrive pas a trouvé l'erreur il m'affiche toujours Identifiant invalide:
Affiche_liste_etudiant.php:
<?php 
.......
$sql = 'SELECT Id, Nom, Prenom FROM Etudiant'; 

$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error()); 
echo ''.\"\n\";
echo '----
';
echo ' Nom: , ';
echo ' Prenom: , ';
echo '
';

while($data = mysql_fetch_assoc($req))
{	echo '----
';
echo '<center>'.$data['Nom'].'</center>, ';
echo '<center>'.$data['Prenom'].'</center>, ';
echo '<center></center>, ';
echo '';
}
  echo '
'."\n";
// on ferme la connexion à mysql 
mysql_close(); 
?> 

Affiche.php:
<?php 
.......
if(!isset($_GET['id']) || !is_int($_GET['id']))
{
    echo 'Identifiant non valide
';
}
else
{
    $sql='SELECT * FROM Etudiant where Id = '.$_GET['id'].'';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data =mysql_fetch_assoc($req);
echo 'Login: '.$data['Login'].'

'; 
echo 'Mot de passe: '.$data['Password'].'

'; 
echo 'Nom : '.$data['Nom'].'

'; 
    echo 'Prenom: '.$data['Prenom'].'

';
    echo 'Date de naissance: '.$data['Date_de_naiss'].'

'; 
echo 'E mail: '.$data['E_mail'].'

'; 
    echo 'Etablissement: '.$data['Etablissement'].'

'; 
    echo 'Specilaité: '.$data['Specialite'].'

';
    echo 'Niveau: '.$data['Niveau'].'

';  	
echo'
';

mysql_free_result ($req);}
mysql_close ();
?>
Commenter la réponse de jolina87
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
9
0
Merci
Tu peux mettre l'url quand tu clique sur l'un des étudiants

/Affiche.php?id=???

_________________________________
Min iPomme
Commenter la réponse de Tonio_35
Messages postés
25
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
26 janvier 2012
0
Merci
c'est l'url:
http://127.0.0.1/Projet/Affiche.php?id=13
(il existe deja dans la base l'etudiant n°13)
c'est le msg:
Identifiant non valide
Commenter la réponse de jolina87
Messages postés
25
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
26 janvier 2012
0
Merci
merci merci merci Monsieur pour ton aide
Commenter la réponse de jolina87