[PHP] Abfrage-Schleife

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Poncho, 12. Dezember 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 12. Dezember 2006
    Abfrage-Schleife

    Moin. Habe eine Datenbank namens lang,...

    {bild-down: http://imgnow.de/uploads/dbscreendtl18af233ajpg.jpg}


    Ich habe in etwa folgendes vor..

    Die Datei, um die es gerade geht, wird in die anderen Dateien includiert. In der Datei um die es gerade geht werden die Sprachvariablen erstellt.

    So soll am Ende das Ergebnis sein, dass $lang_welcomehead das ist, was in der Tabelle neben welcomehead in der content-Spalte steht und bei $lang_loggedout was bei content neben loggedout steht..
    Das de/en könnt ihr dabei getrost ignorieren, das ist ne Sache zwischen mir und den Sessions

    Ist so etwas überhaupt möglich?
     
  2. 12. Dezember 2006
    AW: Abfrage-Schleife

    Ja, das ist moeglich.


    eval("\$lang_$description = \"$content\"");
     
  3. 12. Dezember 2006
    AW: Abfrage-Schleife

    sehr unsicher!! man kann da jeden php code ausfüheren
     
  4. 12. Dezember 2006
    AW: Abfrage-Schleife

    PHP:
    ${ 'lang' . $key } =  $value ;
     
  5. 12. Dezember 2006
    AW: Abfrage-Schleife

    Und wie kann ich das abfragen?
     
  6. 12. Dezember 2006
    AW: Abfrage-Schleife

    das PHP Handbuch - Hilfe zu den PHP Befehlen
     
  7. 12. Dezember 2006
    AW: Abfrage-Schleife

    Das ist sicher, wenn man die Variablen vorher genuegen secured. Und bei seiner Datenbank ist das kein Problem!

    Erst denken, dann posten...
     
  8. 12. Dezember 2006
    AW: Abfrage-Schleife

    wenn... jedoch können trotzdem lücken entstehen und bei eval kann das schlecht ausgehen.
     
  9. 12. Dezember 2006
    AW: Abfrage-Schleife

    Wenn eval() die Antwort ist, hast du die falsche Frage gestellt.

    Richtig.


    // edit
    PHP:
    $sql  "SELECT
                `name`,
                `value`
            FROM
                `l10n`
            WHERE
                `locale` = 'de'
            ;"
    ;
    if (!(
    $query  = @ mysql_query ( $sql )))
    {
        
    trigger_error ( 'Fetching l10n data failed: ' . mysql_error (),  E_USER_ERROR );
    }

    while (
    $row  = @ mysql_fetch_object ( $query ))
    {
        ${
    'l10n_' . $row -> name } =  $row -> value ;
    }
    "key" als Spaltenname zu verwenden, ist nicht so prall, da "key" ein MySQL-"Befehl" ist.
     
  10. 12. Dezember 2006
    AW: Abfrage-Schleife


    Die erzeugten Variablen sind dann aber leer.

    Mit

    $row->name = $row->value;

    funktionierts!

    Woran liegt´s?


    Script:

    PHP:
        $sql  "SELECT
                
                `description`,
                `content`

                FROM

                `lang`
                                                            
                WHERE

                `language` = '
    $langid '   " ;
        
        if (!(
    $query  = @ mysql_query ( $sql )))
            {
            
    trigger_error ( 'Sprachinformationen konnten nicht abgeholt werden. Fehler: ' . mysql_error (),  E_USER_ERROR );
            }

        while (
    $row  mysql_fetch_object ( $query ))
            {
            
    $row -> description  $row -> content ;
            echo(
    $row -> description );
            } 
                      
    Das echo habe ich nur in die Schleife eingebaut, um ihre Funktion zu testen
     
  11. 12. Dezember 2006
    AW: Abfrage-Schleife

    Was duch da machst, sit Schwachfug. _Nach_ der Schleife hast du nämlich genau nichts mehr.
    Nimm nochmal meinen Code und setz hinter die Schleife folgendes.
    PHP:
    $vars  get_defined_vars ();
    foreach (
    $vars  as  $key  =>  $value )
    {
        if (
    substr ( $key 0 5 ) !=  'l10n_' )
        {
            continue;
        }

        
    printf ( '%s => %s' . "\n" $key $value );
    }
    Dann siehst du, was bei meinem Code rauskommt.
     
  12. 12. Dezember 2006
    AW: Abfrage-Schleife


    Ich danke dir vielmals, es funktioniert einwandfrei. PHP lernen ist eben ein Prozess :]
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.