Récupération de données dans une base de données

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupération de données dans une base de données

Re: Récupération de données dans une base de données

par MaxP » 04 juil. 2016, 14:40

Je n'ai aucun message d'erreur, je sais pas si tu vois exactement ce que je veux faire... Mais je viens de trouver, merci quand même et aussi désolé pour le petit "up".
Tu as l'air d'être caler en PHP, si ça t'intéresse j'ai ouvert un autre poste sur l'autocomplétion :)

Merci à toi

Re: Récupération de données dans une base de données

par moogli » 04 juil. 2016, 09:57

pour répondre à ta question i te faut utiliser la clause in SQL. Il te faut pour celà récupérer les id que tu souhaites afficher avant.

Pour reprendre ton code, je pense que tu n'as pa bien compris le concept de requête sql et de ce que cela retourne.
Je t'invite à tester tes requêtes avec un client SQL pour te rendre compte de ce que tu obtiens comme données.
<?php
// selection de toute les ligne de la table ma_table pour le user_ID = $user_ID (au passage vire le ' si l'id est un entier (comme le suggère le nom)
$result = $mysqli->query('SELECT * FROM ma_table WHERE user_ID = "' . $user_ID . '"');
// pour chaque ligne retournée par la requête de la ligne précédent je demandes les données dans un tableau (chaque index est le nom de la colonne). 
    while($row = $result->fetch_array())
    {
      $details = $row['value'];// inutile utilise directement $row['value'] pour l'affichage. En règle générale évite les variables intermédiaires. 
      $field_id = $row['field_id'];// inutilisée, donc à supprimer
      echo $details;  // affichage de la colonne value de la ligne de résultat courante. 
// BOOM : $details n'est pas un tableau
      foreach ($details as $key => $detail)
      {
        echo $detail. '<br>'; // RIEN NE S'AFFICHE ICI AVEC CELA => ben oui normal
      }
    }
est ce que tu affiches les erreurs php ? (display_error = On)
est ce que le niveau d'erreur est bien à E_ALL (errore_reporting = E_ALL)
ces deux paramètres sont obligatoires pour développer de façon "efficace" (on fait rarement bien du premier coup).



@+

Re: Récupération de données dans une base de données

par moogli » 04 juil. 2016, 09:47

Modération :
Les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Re: Récupération de données dans une base de données

par MaxP » 02 juil. 2016, 12:21

up ?

Re: Récupération de données dans une base de données

par MaxP » 01 juil. 2016, 17:05

Merci à toi.
Après je tente ça mais ça ne fonctionne pas :
while ($row = $result->fetch_array())
		{
			$value = $row['value'];
			echo $value;
		}

Re: Récupération de données dans une base de données

par or 1 » 01 juil. 2016, 16:45

SELECT * FROM ma_table WHERE user_ID = "' . $user_ID . '" and field_id != 36

Récupération de données dans une base de données

par MaxP » 01 juil. 2016, 16:27

Bonjour à toute la communauté,

Je possède une table dans lequel figure plusieurs colonnes (jusqu'ici tout va bien) dont les trois qui nous intéressent : field_id; user_id; value;
Lors d'un enregistrement il y a plusieurs champs à remplir dont les informations viennent s'ajouter dans la colonne "value".
Chaque type d'information possède un id qui figure dans "field_id".

Par exemple : "nom" à l'identifiant 1 dans "field_id", "prénom" à l'identifiant 2 dans "field_id", etc...
Par exemple :

field_id / user_id / value
5 / 64 / Faut que ça bouge !
field_id / user_id / value
36 / 64 / Aucune
field_id / user_id / value
9 / 64 / hôtel

Je cherche à reprendre sur une page presque toutes les informations que renseigne un membre mais je veux pouvoir afficher uniquement les informations que je veux sélectionner... J'arrive à tout afficher concernant un utilisateur mais pas à afficher individuellement. Si je veux juste prendre la valeur du field_id 5 et 9 et pas le 36 je n'y arrive pas.

Pour le moment voici le code que j'ai :
$result = $mysqli->query('SELECT * FROM ma_table WHERE user_ID = "' . $user_ID . '"');
		while($row = $result->fetch_array())
		{
			$details = $row['value'];
			$field_id = $row['field_id'];
			echo $details; [b] // TOUT S'AFFICHE POUR UN UTILISATEUR[/b]

			foreach ($details as $key => $detail)
			{
				echo $detail. '<br>'; [b]// RIEN NE S'AFFICHE ICI AVEC CELA[/b]
			}
		}
D'avance merci :)