Portal > Foren > PHP > PHP-Programmierung > Config Tabelle auslesen
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 23.03.2006, 16:36 Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard Config Tabelle auslesen

Hi Leute

Also, ich habe mir iene Config Tabelle gebastelt, die sieht aus wie folgt:

Code:
config

| name  | value |
+-------+------+
|  ich     |   1    |
+-------+------+
|   du     |   3    |
+-------+------+
Nun möchte ich das ganze in einen Array schreiben wie folgt:

PHP-Code:
echo $config['ich'];
echo 
$config['du']; 
Das ganze sollte dann 1 bzw 3 ausgeben. Alles klar?

Versucht habe ich es so:

PHP-Code:
//
// Auslesen der Config
//
$conf get_config(CONFIG_TABLE);
$i 0;
while (
$conf)
{
  
$config[$conf[$i]['config_name']] = $conf[$i]['config_value'];
  
$i++;
}

function 
get_config ($table)
{
  
$sql "SELECT * FROM ".$table." ORDER BY config_name ASC";
  
$result $db->query($sql) or $error->sql_error(__LINE__,__FILE__,$sql,mysql_error());
  
$conf = array();
  
$i 0;
  while(
$row = (($result)? $db->fetch_assoc($result:($error->sql_error(__LINE__,__FILE__,$sqlmysql_error())))
  {
    
$conf[$i]['config_name'] = $row['config_name'];
    
$conf[$i]['config_value'] = $row['config_value'];
    
$i++;
  }
  return 
$conf;

Geklappt hats nicht PHP hat einfach bis ins unendliche gezählt. Klar, ich kam relativ rasch darauf, dass anstelle des while wohl eher ein foreach hingehörte. Aber wie krige ich dann das config_name in den Array?

Bitte um Hilfe, Garnele
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch
Garnele ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.03.2006, 16:42 Nach oben    #2
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Deine while-Schleife hat ja auch keine Ende, da das Array $conf immer true ergibt

Der Ansatz ist in Ordnung, Durchführung aber nicht
PHP-Code:
$result mysql_query("...");
$cfg = array();
while (
$row mysql_fetch_assoc($result))
{
  
$cfg[$row['name']] = $row['value'];
}

var_dump($cfg); 
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.03.2006, 16:52 Nach oben    #3
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

Denkfehler, $row wird auch true sein, wenn ein Fehler auftritt.
Allerdings stellt sich mir die Frage, ob ein $result = 0 wird, wenn der Zeiger von $result am Ende ist. Wenn ja, würde es die Endlosschleife erklären.

so sollte es aber funktionieren:
PHP-Code:
while($row $db->fetch_assoc($result) )
  {
    
$conf[$row['name']] = $row['value'];
  } 
Grüße,
Jojo

//edit: Lars war geringfügig (^^") schneller. Allerdings ist mir seine Argumentation nicht einleuchtend, da $conf in der Überprüfung gar nicht auftaucht...
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int

Geändert von Jojo (23.03.2006 um 16:54 Uhr)
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.03.2006, 18:03 Nach oben    #4
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Hab das Array halt $cfg genannt
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.03.2006, 19:52 Nach oben    #5
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

Das meinte ich nicht
Ich meinte das:
Zitat:
Zitat von Lars
Deine while-Schleife hat ja auch keine Ende, da das Array $conf immer true ergibt
aber ich denke, du meintest $row und nicht $conf
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.03.2006, 19:57 Nach oben    #6
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

PHP-Code:
while ($conf)
{
  
$config[$conf[$i]['config_name']] = $conf[$i]['config_value'];
  
$i++;

Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrere Zeilen auslesen. Jan Datenbanken 17 27.06.2006 16:49
MySQL: Abfrage aus zweiter Tabelle. Sebastian PHP-Programmierung 6 16.12.2005 00:01
Beliebige DB-Tabelle auslesen und ausgeben cyberboy Datenbanken 7 14.12.2005 16:42
[SQL] Zufallsdatensatz auslesen - MySQL 3.23 Ben Tutorials 0 16.03.2005 00:06
Tabelle in Access füllen bzw. auslesen Nils Holgerson Datenbanken 8 06.03.2005 13:24


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45