Generieren von properties für Query

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Generieren von properties für Query

    Hallo Leutchen

    ich hoffe, mir kann wieder ein mal geholfen werden bei einem Problem für das mein bissel Erfahrung nicht ausreicht!

    Und zwar:
    Ich erzeuge eine Query, die aus variablen Attributlisten bestehen: [COLOR=DarkRed]SELECT $variabel FROM tabelle [/COLOR]

    das $varibael ist ein String, deren werte durch kommas getrennt sind. ( Bsp. bla,bla1,bla2 ) und benötigten Attribute der datenabfrage darstellen

    Es sind zwar 20 vordefinierte Attribute, aber wer welche nutzt ist frei konfigurierbar für den Anwender, was soweit auch problemlos funktioniert.

    hab den string aus $varibale in ein Array per explode geschrieben und wollte das dann über eine weitere schleife ensetzen lassen, aber das klappt nicht, er gibt die Daten nicht zusammen aus, wie ich das gern hätte. Meine Schleife muss nen Fehler haben, da nicht alle werte eines jeden users ausgegeben werden, sondern bei user 1 der erste, bei user 2 nur der zweite usw

    Also es sollen alle daten jeder userkonfiguration ausgegeben werden.. ich hoffe, ich hab das nicht zu undeutlich erklärt

    Hier mein Ansatz
    PHP-Code:

    $sql_config 
    $Connection->query("SELECT * FROM configs");

    while(
    $row_config mysql_fetch_object($sql_config))
    {
                
            
    $i=0;
            
    $attribute explode(','$row_config->columns);
            
    $hits     count($attribute);        
            
            
    $sqlStr "SELECT ".$row_config->columns." FROM data ";
            
    $sql_data $Connection->query($sqlStr);
            
             while(
    $row_data mysql_fetch_object($sql_data))
            {    
                for(
    $count 0$count $hits$count++)
                {
                    echo 
    $row_data->$attribute[$count];
                    
    // echo "<br>";
                
    }
            } 

    Falls jemand es wissen mag oder mir für den folgenen Zweck nen optimaleren Vorschlag machen kann :
    Das ganze wird verwendet, um für Nutzer je nach Konfiguration eine eigene XML Datei zu generieren. und nur mit den xml-elementen, die er benötigt. die XML elemente bekommen die gleichen namen wie die table-attribute
    Zuletzt geändert von someRookie; 18.11.2009, 13:07. Grund: rechtschreibung

  • #2
    Hallo,

    das klingt kreuzgefährlich, was du da machst. Da kann ja jeder beliebigen SQL-Code eintragen, wenn ich das richtig verstehe.

    Warum rufst du nicht einfach alle Spalten ab (select * from ...) und filterst per PHP nur die benötigten raus? Das ist doch viel einfacher und sicherer.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Warum enthält dein Code keinerlei Fehlerbehandlung?
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        PHP-Code:
                $attributes explode(','$row_config->columns);
                
                
        $sql "SELECT " $row_config->columns " FROM data ";
                
        $result $Connection->query($sql);
                
                while (
        $row mysql_fetch_object($result))
                {    
                    foreach (
        $attributes as $attribute)
                    {
                        echo 
        $row->$attribute "<br />";
                    }
                } 

        Kommentar


        • #5
          @ Wahsaga

          naja... bevor ich nen ordentliches skript schreibe, wollt eich ja erst mal sehen, ob ich das grundvorgehen hinbekomme... und wie befürchtet, scheitere ich ja schon an der schleifeverschachtelung

          @ AmicaNoctis

          wenn das so wäre, wie ich es bedauerlicherweise auch beschrieben habe, dann hast du ohne wenn und aber recht!
          Die möglichen attribute sind vorgegeben, und auch vor der scriptausführung, wird nochmals ein abgleich geprüft, ob alle übergebenen attribute auch gültig sind !

          Kommentar

          Lädt...
          X