tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
15
ZUGRIFFE
910
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    stega stega ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    178
    Hi,

    ich habe eine klitzekleine Frage:

    ich habe hier eine mysql-Datenbank, die zwei Spalten hat: in der ersten steht der Name der Variablen in der zweiten deren Wert.

    Bsp:

    Code :
    1
    2
    3
    
    var1 - abc
    var2 - def
    var3 - jkh

    Jetzt lese ich das mit einem "SELECT *" -mysql-Befehl aus und möchte erreichen, dass mir die Werte aus der ersten Spalte als variablen erzeugt werden, die die Werte der zweiten Spalte enthalten - sprich also:

    PHP-Code:
    $var1 "abc";
    $var2 "def";
    $var3 "jkh"
    Könnt ihr mir kurz sagen, wie das geht? Ich hab jetzt inzwischen bei php.net herausgefunden, dass man irgendwie mit {} und nem doppeltem $$ ne Variable aus nem Wert erzeugen kann, aber leider klappt das bei mir (noch) nicht?!

    Vielen Vielen Dank für eure Hilfe!

    liebe Grüße
     

  2. #2
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    das ginge so:

    PHP-Code:
    ${$row['spalte1']} = $row['spalte2']; 
    Aber wofür möchtest Du Variablennamen in einem Datenbankfeld speichern?

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  3. #3
    stega stega ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    178
    ok, danke ich werds mal einbauen und versuchen

    ich mach das, weil ich Variablen, die für ne Homepage wichtig sind, in einer Datenbank speichere, damit ich sie über ein Interface editieren kann und trotzdem bei den Seitenaufrufe auflese und dementsprechend reagiere

    In einer php-Datei kann ich die ja nicht einzeln editieren dann so einfach.


    P.S: ich habs jetzt probiert - aber es funktioniert nicht so ganz. Wie kann ich denn einen Text-String dann als Wert der Variablen nehmen? Denn sobald ich bei einer Variablen ankomme, die z.B. einen kurzen Text als Wert hat, da bricht er ab....
    Geändert von stega (23.04.09 um 23:29 Uhr) Grund: klappt doch nicht...
     

  4. #4
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Zitat Zitat von stega Beitrag anzeigen
    ich mach das, weil ich Variablen, die für ne Homepage wichtig sind, in einer Datenbank speichere, damit ich sie über ein Interface editieren kann und trotzdem bei den Seitenaufrufe auflese und dementsprechend reagiere
    so etwas in der Art hatte ich befürchtet. Lege lieber pro Variable eine entsprechend benannte Spalte in einer Tabelle an und speichere dann dementsprechend auch nur einen Datensatz pro Seite.

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  5. #5
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Zitat Zitat von stega Beitrag anzeigen
    Wie kann ich denn einen Text-String dann als Wert der Variablen nehmen? Denn sobald ich bei einer Variablen ankomme, die z.B. einen kurzen Text als Wert hat, da bricht er ab....
    verstehe ich nicht. Gib bitte mal ein Beispiel an.

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  6. #6
    dark alex dark alex ist offline Grünschnabel
    Registriert seit
    Jul 2007
    Beiträge
    2
    Wiso machste net eine .php Datei, die du überall im Kopf einbaust (include "vars.php" und definierst da die Variablen...
     

  7. #7
    stega stega ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    178
    na ich hab das jetzt so gedacht:
    ich habe eine php-datei: inc.php, die wird auf allen Seiten eingebunden. Sie enthält u.a. die Verbinduungsbefehle zur Datenbank und eben diese "global definierten" Variablen.

    Jetzt wollte ich aber der Verwaltung der Homepage ermöglichen, diese Variablen zu ändern und editieren (also z.B. die Überschrift der Seite mit der variablen $header = "abc def ghj" umzuändern und anzupassen).

    Um das am Besten zu machen, dachte ich, wäre eine Tabelle in der Datenbank ja nicht schlecht, weil man dann einfach Werte auslesen kann mit der inc.php-datei und schon hätte man alle Variablen zur Verfügung UND kann leicht über ein Formular die Daten ändern lassen.

    WIe meinst du das mit den verschiedenen Spalten?

    Habt ihr ne gute Idee, wie ich das sonst noch lösen könnte?

    vielen dank für eure Hilfe!
     

  8. #8
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Zitat Zitat von stega Beitrag anzeigen
    Jetzt wollte ich aber der Verwaltung der Homepage ermöglichen, diese Variablen zu ändern und editieren (also z.B. die Überschrift der Seite mit der variablen $header = "abc def ghj" umzuändern und anzupassen).
    Jo, das ist dann wohl die Grundform von Content Management.
    Und wie unterscheidest Du mit dem Datenbankmodell die Überschriften für die verschiedenen Seiten?
    Man macht das eher so, dass es in der Tabelle ein Feld "id" zum Identifizieren der Seite gibt und eben die verschiedenen Datenfelder, z.B.:


    id | header | inhalt
    1 | Seite1 | blabla
    2 | Seite2 | sdfkljghdfkljgh


    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  9. #9
    stega stega ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    178
    ja, es ist ein CMS Und die Variablen will ich eben in der Tabelle speichern lassen.

    Jetzt habe ich z.B. die variablen:
    PHP-Code:
    $global_website_name "Testhomepage";
    $global_website_mail "mail@testhomepage";
    $global_website_version 1
    Wie kann ich denn dann das mit id's aufrufen lassen?

    Weißt du, im Endeffekt will ich in der DB dann stehen haben:
    Code :
    1
    2
    3
    
    $global_website_name - Testhomepage
    $global_website_mail                 -  mail@testhomepage
    $global_website_version           - 1

    In der Verwendung soll dann ausgelesen werden innerhalb der eingebunden inc.php-Datei, was in der Config-Tabelle steht und die Werte dann als Variablen genutzt werden....

    Vorschlag?

    dankeeee!
     

  10. #10
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Zitat Zitat von stega Beitrag anzeigen
    Und die Variablen will ich eben in der Tabelle speichern lassen.
    ja, dann lege für jede Variable ein Feld an. Wenn das globale Einstellungen sind, steht da dann halt nur der eine Datensatz drin.

    Wenn Du auch Seiten änderbar machen willst, legst Du da halt auch Tabellen mit den editierbaren Feldern an, z.B. eine für news usw. Für jede (z.B. news-)Seite gibt es dann einen Datensatz, den Du über die ID eindeutig bestimmen kannst.

    Aber wozu willst Du eigentlich das Rad neu erfinden? Kostenlose CMS gibt es doch wie Quallen in der Ostsee...

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  11. #11
    stega stega ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    178
    das Ganze ist ne kleine Plattform für meinen Arbeitgeber, der damit bissle sein Angebot erweitern will. da brauchts keine große Plattform, sondern ne kleine individuelle Lösung und ich will ihm halt die Möglichkeit geben, dass er da generelle Dinge (z.B. den Preis für nen Kurs o.ä.) in ner Verwaltungsübersicht ändern kann....


    Ok, dann also zurück zum Thema:
    wenn ich ne Tabelle anlegen (s.o.) dann funktioniert das mit den Variablen aber nicht wirklich, sondern der liest die nicht aus und damit funktioniert es nicht

    Liegt das an dem Text-string, der da auch drin steht und die Übergabe an die ${$row['variable']} nicht funktioniert wegen Leerzeichen o.ä.? Kann das sein?

    Vielen Dank für eure Hilfe!
     

  12. #12
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Ich glaube nicht, das ich das wirklich schreibe, aber in diesem Falle wäre wohl eval() die Wahl der Wahl. Aber pass bloß auf, was du in die Datenbank schreiben lässt. Filtern ist hier das A&O.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  13. #13
    stega stega ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    178
    also dann:
    PHP-Code:
    ${$row['spalte1']} = eval($row['spalte2']); 
    ?

    Ich probiers heute Abend mal aus. Danke!
     

  14. #14
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    nein. Wenn Du die Datenbank wie vorgeschlagen aufbaust, schreibst Du natürlich keine Variablennamen rein, sondern die Inhalte. Da brauchst Du dann weder obiges Konstrukt, noch eval(). Die Zuordnung erfolgt dann doch über den Spaltennamen. Heißt, Du hast dann nicht mehr 25 Variablen, sondern ein Array mit 25 Elementen, dessen Schlüssel die Namen sind.

    Eine Überschrift bekommst Du dann z.B. über $row['header'].

    Vielleicht schaust Du Dir mal ein Tutorial zu dem Thema an.

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  15. #15
    stega stega ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    178
    HI kuddeldaddeldu,

    ich habs jetzt so versucht, wie du es mir gesagt hast. Also ein Tabellenblatt und darin dann ca 35 Spalten und eine Zeile drunter zu jeder Spalte einen Eintrag.

    also etwa so:

    Code :
    1
    2
    
    glb_website  |  version  |  copyright
    localhost       |   1.0         | by me

    Kannst du mir jetzt noch kurz helfen und mir sagen, wie ich jetzt die rows anspreche direkt? Ich weiß,d as gehört nicht ganz in php, sondern vllt auch in mysql - aber is ja mehr oder weniger Schnittbereich.

    Ich mach also die Datenbankverbindung auf und dann lese ich mit nem query einfach SELECT * alles aus dieser einen Zeile aus.

    Und dann?

    PHP-Code:
    while ($row mysql_fetch_array($result)) {

      ${
    $config["glb_header_text_unterline"]} = $row["glb_header_text_unterline"];
      ${
    $config["glb_header_text_headline"]} = $row["glb_header_text_headline"];
      ${
    $config["copyright"]} = $row["copyright"];
      ${
    $config["version"]} = $row["version"];
      

    Oder wie kann ich jetzt diese Spalten als $config['xxx'] -Variablen übergeben?

    Vielen vielen Dank für deine Hilfe
     

Ähnliche Themen

  1. ListBox Eintrag in String Variable speichern
    Von CrimeOne im Forum .NET Café
    Antworten: 9
    Letzter Beitrag: 05.03.09, 23:12
  2. array aus db eintrag erzeugen
    Von penalizer im Forum PHP
    Antworten: 2
    Letzter Beitrag: 23.08.05, 15:07
  3. Zusätzlichen Eintrag im Kontextmenü des IE erzeugen?
    Von wurzelholz im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 03.03.05, 15:51
  4. Hyperlink aus Variable erzeugen
    Von toXroX im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 02.08.03, 02:09
  5. Antworten: 2
    Letzter Beitrag: 01.08.03, 14:15

Stichworte