IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Stocker le résultat d'une requête dans un tableau


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2020
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Gabon

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2020
    Messages : 21
    Points : 21
    Points
    21
    Par défaut Stocker le résultat d'une requête dans un tableau
    Bonjour la communauté,

    Je voudrais stocker le résultat d'une requête dans un tableau pour une utilisation future

    Voici le code ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $sqlnommat=$connexion->query("SELECT * FROM matieres_dispenses WHERE id_classe_scol='".$idclasse."' AND mat_dispo='1'");
    						if(!$sqlnommat){
    							echo"<div class='row'><div class='col-md-12 alert-danger text-center'><h4>Erreur SQL  (" . $connexion->errno . ") " . $connexion->error."</h4></div></div>";
    						}
    						else{
    							if(mysqli_num_rows($sqlnommat)>=1){ 
    								while($repnommat=$sqlnommat->fetch_assoc()){
                                                                         echo $repnommat['nom_mat'];
                                                                    }
                                                            }elseif(mysqli_num_rows($sqlnommat)==0){
                                                                  echo"La liste des matieres est vide":
                                                            }
                                                    }
    La table matieres_dispenses comprend les champs suivants: id_mat_dispense, id_classe_scol, nom_mat, mat_dispo

    Et normalement cette résultat m'affiche la liste des matières comme suit:
    Français, Mathématique, Physique, Chimie, Biologie, Histoire, Géographie, Anglais, EPS, Conduite

    Et c'est cette liste de matière que je veux stockée dans une variable tableau (array).

    Merci a l'avance pour votre contribution!

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Salut,

    Tu peux utiliser mysqli_stmt::get_result.

    Et attention, ta requête n'est pas protégée contre les injections sql, donc soit tu prépare la requête soit tu utilises mysqli::real_escape_string.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2020
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Gabon

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2020
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    j'ai suivie le lien mais j'avoue je n'ai pas pu adapté à mon cas compte tenu de mon niveau !

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Alors si tu veux préparer correctement ta requête, il faut faire comme ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
       $id_class_s=4;//je ne sais pas comment tu récupère cette variable, avec post ou get? j'ai mis un 4 pour tester...
       $list=[];
        $connexion= new mysqli("localhost", "user", "password", "nom_base");
    	if($stmt=$connexion->prepare("SELECT * FROM matieres_dispenses WHERE id_classe_scol=? AND mat_dispo=1")){
    		$stmt->bind_param("i",$id_class_s);
    		$stmt->execute();
    		$data=$stmt->get_result();
    		echo "nbr lignes :".$data->num_rows.'<br />';
    		if($data->num_rows>0){
    			while($row=$data->fetch_assoc()){
    				echo $row['nom_mat'].'<br />';
    				$list[]=$row;
    			}
                            $data->free_result();
    		}
    		else{
    			echo "Aucune donnée n'a été trouvée.";
    		}
    	}else{
    		echo "erreur de prépare";
    	}
    	var_dump($list);// voir les données du tableau $list
    	$stmt->close();
    	$connexion->close();

  5. #5
    Membre à l'essai
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2020
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Gabon

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2020
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    J'ai essayé d'utiliser ce bout de code mon exemple mais bon je me suis plantée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $nb_soud = array();
    for($i=0; $i<$nb_rows;$i++)
    {			
    	$nb_soud[] = mysql_result($resultat, $i);
    }
    C'est un extrait de code cette discussion https://www.developpez.net/forums/d9...ltats-tableau/

    Et regardant cet exemple, je sens que sa va marché et pourtant j'y arrive pas encore!

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    c'est sûr... si tu prends un bout de code d'une discussion de 2010.... écrit en mysql_ (obsolète !) alors que toi, tu es en mysqli_.

    Tu aurais intérêt à lire des TUTOS concernant mysqli_.

    Ou MIEUX : passer à PDO.


Discussions similaires

  1. [PostgreSQL] Stocker le résultat d'une requête dans un tableau
    Par vandman dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 20/04/2015, 10h57
  2. Réponses: 10
    Dernier message: 14/03/2011, 19h38
  3. [MySQL] Afficher le résultat d'une requête dans un tableau
    Par magobouli dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/02/2007, 14h41
  4. Cmt stocker le résultat d'une requête dans une variable ?
    Par innova dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 07/02/2007, 09h41
  5. Réponses: 12
    Dernier message: 09/01/2007, 19h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo