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 :

Récupérer Colonne base de données sans tri


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 15
    Points
    15
    Par défaut Récupérer Colonne base de données sans tri
    Bonjour,

    Dans mon code je récupère les différentes colonnes de ma base de données mais je rencontre un probleme

    En effet, il récupère bien les colonnes sauf que pour certaines il les trie par ordre alphabétique
    J'ai l'impression qu'il trie par ordre alphabétique celles qui ont une valeur nulle, je voudrais savoir pourquoi et surtout comment l'empecher car du coup ca fait foirer tout le reste ... Je voudrais juste avoir mes colonnes dans des tableaux sans aucun trie.
    pour pouvoir ensuite faire des croisements entre les différents tableaux.

    Voici mon code:
    Code : 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
    // permet de récupérer les colonnes de la base de données dans des tableaux JS
    function DataBase($colonne) {
    	try{
    		$db = new PDO('mysql:host=localhost;dbname=db_actis', 'root', '');
    	}
    	catch (Exception $e){
    		die('Erreur : ' . $e->getMessage());
    	}
    	$data = array();
    	$sth = $db->prepare('SELECT '.$colonne.' FROM `table_actis`');
    	$sth->execute();
    	$data = $sth->fetchAll(PDO::FETCH_COLUMN, 0);					
    	return $data;
    }		
    if (isset($_GET["colonne"])) {
      $colonne = $_GET["colonne"];
      $resultat['lacolonne'] = DataBase($colonne);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function GetDataBase() {
    	var tab_nomColonne = ["BP_name", "Country", "Net_EURO", "Segment", "Month", "Quarter", "Year", "Regions", 
    							"Offer_type", "Releas_OXE", "Users_with_sip", "Additional_users_OF_1"];
    	for (var i = 0, l = tab_nomColonne.length; i < l; i++) {
    		url = "colonne=" + tab_nomColonne[i];
    		ajax_call(url, function(json){
    			window["Col_" + tab_nomColonne[i].toString()] = json['lacolonne'];
    		});	
    	}	
    }

    La structure de ma base de données, le firebug qui affiche le contenu des tableaux JS et le contenu de ma base de données dans MySQL.

    On constate que pour certains tableaux il n'y a pas de problemes
    Ex: Col_Month, Col_Net_EURO, Col_Quarter ...

    Mais pour d'autres comme Col_BP_name, Col_Country, Col_Releas_OXE ... ca ne va pas du tout :'(


    J'espere que vous pourrez m'aider =)
    Images attachées Images attachées    

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Si tu n'imposes pas de tri, les données remontent dans l'ordre que la base de données décide d'appliquer. Ce qui peut ou non impliquer un tri interne, et éventuellement un ordre différent d'une exécution à l'autre

    Et sinon, il y a une raison fondamentale qui t'empêche de remonter l'ensemble des colonnes dans une seule requête et de construire les données à renvoyer ensuite ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 15
    Points
    15
    Par défaut
    Yo merci de ta réponse !

    J'ai finalement trouvé, j'utilisais une fonction qui permettait de trier ces colonnes recus afin de ne récupérer que des valeurs distinctes.

    Je faisais ceci:

    Code : 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
    function cleanArray(array) {
    	array.sort();
    	var temp = "";
    	var num = 0;
    	var tableau_listé = new Array();
    	for (var i = 0, l = array.length; i < l; i++) {
    		if (!array[i]) {
    		}
    		else {
    			if (temp=="") {
    				tableau_listé[num] = array[i];
    				num = num +1;
    				temp = array[i];
    			}
    			else {
    				if (temp.toLowerCase() != array[i].toLowerCase() ) {
    					tableau_listé[num] = array[i];
    					num = num +1;
    					temp = array[i];
    				}
    			}
    		}
    	}		
    	return tableau_listé;
    }
    Le array.sort() .... était la cause de tous mes soucis


    Il n'y a pas de raison fondamentale non j'ai juste préféré faire comme ca =)

    J'ai donc modifié ma fonction clean_array et je l'ai fait en php-mysql

    voila =)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sqlserver|Récupérer Base de données sans .ldf
    Par forzaakz dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/12/2011, 11h45
  2. Récupérer ma base de donnée avec des tables en .frm uniqueme
    Par Michas dans le forum Administration
    Réponses: 5
    Dernier message: 31/08/2005, 13h57
  3. [Modèle Relationnel] Une base de données sans liens ni triggers
    Par Promeneur dans le forum Schéma
    Réponses: 15
    Dernier message: 27/05/2005, 10h35
  4. Développer une base de données sans BDE dans DELPHI 3 PRO
    Par ndlh721 dans le forum Bases de données
    Réponses: 3
    Dernier message: 05/02/2005, 14h21
  5. base de donné sans avoir un serveur!!
    Par Sawbo dans le forum Bases de données
    Réponses: 7
    Dernier message: 30/07/2004, 09h08

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