Stocker résultats d'une requete sql dans un tableau

Résolu
Luune Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
Luune Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je ne connais pas grand chose en php, j'ai testé la requete elle m'affiche le résultat souhaité et ce que je veux c'est de stocker le résultat du champ "nommodule" dans un tableau
voila mon code :
<?php 
$base = mysql_connect ("localhost", "root", "");
mysql_select_db ("modul", $base);
/*préparation de la requête en fonction du pseudo du membre*/
//$sql = 'SELECT * from users WHERE mail="'.$_SESSION['mail'].'"';
$sql = 'SELECT users.mail, usermodule.nomusers, usermodule.nomsociete, usermodule.nommodule
FROM users
INNER JOIN usermodule ON users.nomusers = usermodule.nomusers
WHERE mail = "'.$_SESSION['mail'].'"';
/*éxécution de la requête*/
$req=mysql_query($sql)or die('erreur sql!<br>'.$sql.'<br>'.mysql_error());
/*on met le résultat dans un tableau $data*/
$data = mysql_fetch_array($req);
/*on assigne nos variables tirées du tableau $data*/
$nomusers = $data['nomusers'];
$nommodule = $data['nommodule'];
$nomsociete = $data['nomsociete'];

?>

Bienvenue <?php echo $nomusers; ?> !<br/>
Module : <?php echo $nommodule; ?> !<br/>


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.


Merci d'avance
A voir également:

2 réponses

Felice_ Messages postés 265 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour Luune,

Dans un tableau ? Tu parles un tableau HTML ?

Tu fais simplement ceci :
<table>
<tr>
<td><?php echo $nommodule; ?></td>
</tr>
</table>
0
Luune Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   5
 
non, je parle d'un tableau php, parce que $nommodule me retourne que le 1er résultat de la requête, alors qu'il y'en a 2
donc j'ai pensé qu'un tableau est la solution pour afficher les 2 résultats
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

1 - Tu utilises l'ancienne extension mysql considérée comme obsolète.
je t'invite vivement à passer à PDO ou à mysqli
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

2 - Tu parles de "tableau". Tu fais référence à un ARRAY php ou une TABLE html ?

... je pense que tu parler d'une table html ... ( https://www.w3schools.com/html/html_tables.asp )

Tu dois donc : (si ta requête retourne plusieurs résultats ) faire une boucle pour générer les TR / TD de ton tableau HTML.


0
Luune Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   5
 
Bonjour Jordane45,

merci pour ta réponse
je fais référence a un ARRAY php, parce que le code que j'ai fais me retourne que le 1er résultat de la requête alors qu'il y'en a deux
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Luune Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Le fetch_array .. si tu regarde la documentation du php ( https://www.php.net/manual/fr/function.mysql-fetch-array.php ) .. te retourne UNE LIGNE de résultat ...
Tu dois donc faire une boucle dessus pour avoir TOUTES les lignes.

un truc du genre :
$result = array();
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  $result[] = $row;
}

Mais encore une fois, tel que c'est écrit dans la documentation officielle de php :

Avertissement
Cette extension était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0



En PDO ou en mysqli.... par contre, tu aurais pu utiliser un FETCHALL qui te retourne directement un array avec TOUS les résultats.
0
Luune Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci beaucoup Jordane45 tu m'as sauvé
0