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

Résolu/Fermé
Luune Messages postés 24 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 - Modifié le 26 avril 2017 à 16:57
Luune Messages postés 24 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 - 26 avril 2017 à 17:58
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

2 réponses

Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
Modifié le 26 avril 2017 à 17:00
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 mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 5
26 avril 2017 à 17:13
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
26 avril 2017 à 17:01
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 mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 5
26 avril 2017 à 17:15
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Luune Messages postés 24 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017
26 avril 2017 à 17:22
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 mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 5
26 avril 2017 à 17:58
Merci beaucoup Jordane45 tu m'as sauvé
0