Stocker résultats d'une requete sql dans un tableau [Résolu/Fermé]

Signaler
Messages postés
24
Date d'inscription
mercredi 26 avril 2017
Statut
Membre
Dernière intervention
25 juillet 2017
-
Messages postés
24
Date d'inscription
mercredi 26 avril 2017
Statut
Membre
Dernière intervention
25 juillet 2017
-
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

Messages postés
266
Date d'inscription
mardi 25 avril 2017
Statut
Membre
Dernière intervention
20 juillet 2017
9
Bonjour Luune,

Dans un tableau ? Tu parles un tableau HTML ?

Tu fais simplement ceci :
<table>
<tr>
<td><?php echo $nommodule; ?></td>
</tr>
</table>
Messages postés
24
Date d'inscription
mercredi 26 avril 2017
Statut
Membre
Dernière intervention
25 juillet 2017
4
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
Messages postés
29642
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 octobre 2020
2 809
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.


Messages postés
24
Date d'inscription
mercredi 26 avril 2017
Statut
Membre
Dernière intervention
25 juillet 2017
4
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
Messages postés
29642
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 octobre 2020
2 809 >
Messages postés
24
Date d'inscription
mercredi 26 avril 2017
Statut
Membre
Dernière intervention
25 juillet 2017

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.
Messages postés
24
Date d'inscription
mercredi 26 avril 2017
Statut
Membre
Dernière intervention
25 juillet 2017
4
Merci beaucoup Jordane45 tu m'as sauvé