Werte richtig ausgeben

Megaman2044

Lt. Junior Grade
Registriert
Feb. 2005
Beiträge
365
Servus Jungs,

ich bin grade daran ein Config Sheet zu bauen. Also mySQL Struktur sieht so aus:
PHP:
-- Tabellenstruktur für Tabelle `mega_config`
-- 

CREATE TABLE `mega_config` (
  `key` varchar(255) collate latin1_general_ci NOT NULL,
  `value` text collate latin1_general_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

-- 
-- Daten für Tabelle `mega_config`
-- 

INSERT INTO `mega_config` VALUES ('title', 'asasd');
INSERT INTO `mega_config` VALUES ('mail', 'asasdad');
INSERT INTO `mega_config` VALUES ('meta_author', '');
INSERT INTO `mega_config` VALUES ('meta_publisher', '');
INSERT INTO `mega_config` VALUES ('meta_language', '');
INSERT INTO `mega_config` VALUES ('meta_robots', '');
INSERT INTO `mega_config` VALUES ('meta_keywords', '');
INSERT INTO `mega_config` VALUES ('meta_description', '');

vorher hatte ich für jedes FELD ein eines FELD in der Tabelle Config. Jetzt wollte ich Fragen wie ich es genau ausgeben kann damit es zu jeden Eingabe feld passt. Vielleicht geht es mit einer while AbFrage aber bin mir nicht sicher. Danke schon mal.
 
hallo,

ich verstehe nicht ganz was du meinst. willst du den kompletten header (also meta infos) der site in einer datenbank schreiben und später dann ausgeben !?

Wenn es das sein sollte kannste die Header Informationen in eine extra Datei schreiben/speichern und diese per "include" Funktion einbinden !
 
Also ich bin jetzt schon so weit, aber wieso bekomme ich nur ein Wert auf $array[0] ???

PHP:
$result=query("SELECT value FROM ".PREFIX."_config");
  $array=mysql_fetch_array($result);
  
 
  echo show($dir."/index",array("head1" => _settings_head1,
       													"title" => _settings_title,
       													"mail" => _settings_mail,
       													"head2" => _settings_head2,
       													"author" => _settings_author,
       													"publisher" => _settings_publisher,
       													"language" => _settings_language,
       													"robots" => _settings_robots,
       													"keywords" => _settings_keywords,
       													"description" => _settings_description,
       													"button" => _settings_button,
       													"fields" => _settings_fields,
       													"post_title" => $array[0],
       													"post_mail" => $array[1],
       													"post_author" => $array[2],
       													"post_publisher" => $array[3],
       													"post_language" => $meta_language_option,
       													"post_robots" => $meta_robots_option,
       													"post_keywords" => $array[5],
       													"post_description" => $array[6]));
 
Hallo,

mysql_fetch_array() liefert immer nur einen einzelnen Datensatz zurück. Jenachdem wie du die Werte nachher weiterverarbeiten möchtest, kannst du diese zum Beispiel mit einer Schleife in einem Array hinterlegen, um dann so später direkten Zugriff auf diese zu haben:

PHP:
$abfrage = mysql_query("SELECT key, value FROM ".PREFIX."_config"); 

$config = array();

while($ds = mysql_fetch_object($abfrage))
{
  $config[$ds->key] = $ds->value;
}
MfG mh1001
 
Alles Klar geht. Wie kann ich es jetzt machen wenn ich die mySQL Updaten will, also das er genau die value an dem bestimmt key upadetet ?
 
Dazu musst du lediglich die Updateanweisung über die WHERE-Klausel entsprechend einschränken:
PHP:
$schluessel = "title"
$neuer_wert = "neuer wert";

mysql_query("UPDATE ".PREFIX."_config SET value = '$neuer_wert' WHERE key = '$schluessel'");

MfG mh1001
 
Angenommen, die Werte liegen in der Form vor, wie sie auch oben ausgelesen werden, dann könnte das so aussehen:

PHP:
foreach($config AS $schluessel=>$wert)
{
 mysql_query("UPDATE ".PREFIX."_config SET value = '$wert' WHERE key = '$schluessel'");  
}

Allerdings produziert das bei vielen Elementen eine unschöne Ansammlung an Queries. Solltest du eine aktuelle MySQL-Version verwenden, so solltest du dich einmal mit dem Thema "Stored Procedures" auseinandersetzen.

MfG mh1001
 
Zuletzt bearbeitet:
mhh ich habe kein Array sondenr die $_POST variablen. Wie geht das dann ?
 
Zurück
Oben