Kom ihåg mig?
Home Menu

Menu


Assigna variabelvären

Ämnesverktyg Visningsalternativ
Oläst 2007-09-28, 10:13 #1
msjoedins avatar
msjoedin msjoedin är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 108
msjoedin msjoedin är inte uppkopplad
Medlem
msjoedins avatar
 
Reg.datum: May 2006
Inlägg: 108
Hej alla!

Sitter och blir inte klok på hur jag skall lösa detta. Är ganska säker på att det finns en smart lösning på detta...

Jag har en del variabler i en MYSQL-tabell. I stället för att ställa en fråga varje gång jag behöver ett av dessa värden så tänkte jag assigna dessa till variabler med en enda SQL-fråga. De kolumner jag vill använda från tabellen är 'name' och 'value' och assigna 'value' till variabeln 'name'.
Kod:
$settingsArray = @mysql_query("SELECT * FROM `settings`");
while($row = @mysql_fetch_array($settingsArray))
{
$variableName = "$" . $row['name'];
$variableName = $row['value']; // FEL!
}
Någon som kan säga hur man gör? Finns det funktioner för detta?

/ Mats
msjoedin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-28, 10:34 #2
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
Du har alltså php-kod som värde i ett databasfält som du vill exekutera?
Att bara skriva ut koden fungerar inte då de ät strängar.

Jag rekommenderar hellre att du har en "config-fil" som inkluderas på sidan.
Annars kanske man kan köra en "eval" i php (Response.Execute i asp).
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-28, 10:59 #3
msjoedins avatar
msjoedin msjoedin är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 108
msjoedin msjoedin är inte uppkopplad
Medlem
msjoedins avatar
 
Reg.datum: May 2006
Inlägg: 108
Ja, jag har ett värde som ett fält i en databas.
Jag vill inte köra en config-fil eftersom dessa värden lätt skall kunna ändras från en adminsida.
Tabellen ser ut typ så här:
id name value
1. sitename www.google.se
2. adminemail [email protected]
osv osv...

Jag får inte detta att funka.

Kod:
$settingsArray = @mysql_query("SELECT * FROM `settings`");
while($row = @mysql_fetch_array($settingsArray))
{
eval("$" . $row['name'] . "=" . $row['value'] . ";"); 
}
echo $sitename;
msjoedin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-28, 11:02 #4
coredevs avatar
coredev coredev är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2007
Inlägg: 1 554
coredev coredev är inte uppkopplad
Bara ett inlägg till!
coredevs avatar
 
Reg.datum: Sep 2007
Inlägg: 1 554
Hej Mats.

Får jag föreslå att du gör en variabel som håller all config:

Så istället för $FilePath använder du $conf['FilePath']..

Get it? B)
coredev är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-28, 11:10 #5
msjoedins avatar
msjoedin msjoedin är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 108
msjoedin msjoedin är inte uppkopplad
Medlem
msjoedins avatar
 
Reg.datum: May 2006
Inlägg: 108
Javisst! Tack!
Det är ett bra alternativ. Blir dock lite konfunderad varför det inte funkar.
Denna kod fungerar om jag inte har mellanslag eller dylikt i variabelvärdet.
Kod:
$settingsArray = @mysql_query("SELECT * FROM `settings2`");
while($row = @mysql_fetch_array($settingsArray))
{
eval('$' . $row['name'] . '=' . $row['value'] . ';'); 
}
echo $sitename;
msjoedin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-28, 11:24 #6
msjoedins avatar
msjoedin msjoedin är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 108
msjoedin msjoedin är inte uppkopplad
Medlem
msjoedins avatar
 
Reg.datum: May 2006
Inlägg: 108
Jag kör nu som coredev föreslog. Funkar kanon! Tack.

Kod:
$settingsArray = @mysql_query("SELECT * FROM `settings`");
while($row = @mysql_fetch_array($settingsArray))
{
$conf[$row['name']] = $row['value']; 
}
echo $conf['sitename'];
msjoedin är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 13:26.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017