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
35491
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022
4 160
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
35491
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022
4 160 > 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