PHP Funktion

  • #1
C

Ciryx

Bekanntes Mitglied
Themenersteller
Dabei seit
07.01.2004
Beiträge
135
Reaktionspunkte
0
Ort
Zürich
Morgen...

Ich habe folgenden Code, welchen ich verwende damit am Anfang ein paar Variabeln aus einer DB in ein Array geschrieben wird, und ich diese anschliessend immer wieder verweden kann.

Code:
<?php
$sql = SELECT * FROM settings;
	$result = mysql_query($sql);
	
	$setting = array();
	
	while ($row = mysql_fetch_assoc($result)) {
	
		$setting[$row['val']] = $row['key'];
		
	}
?>

Nun habe ich im Admin Bereich die Möglichkeit die Settings DB Abzuändern. Meine Frage ist nun, wie ich anschliessend auch die zuweisung der Werte (Code oben) erneuere. Kann mir jemand Helfen?

Danke...
 
  • #2
Naja, ich würde pauschal ma sagen ein Refresh der Seite sollte genügen, dann werden die Daten ja neu eingelesen ;)

Ansonsten musste das Ding mal anders erklären :2funny:
 
  • #3
Hehe... ja!

Aber wenn ich über den Adminbereich die Settings DB update bleibt vorläufig noch der alte Wert im Input.

Hier eine kurze Version der Adminseite:

Code:
<?php

		if(isset($_REQUEST[save_settings]))
		{		
			$sql = UPDATE `settings` SET `key` =->$_REQUEST[font_right]' WHERE `val` =->font_right';
					
			mysql_query($sql);					
			
		}
		echo <form method=\POST\ ENCTYPE=\application/x-www-form-urlencoded\ action=\?id=master_settings.php\>;
		echo <table>;		
		
		echo <tr>;
		echo <td>Schrift rechts</td>;
		echo <td><input type=\text\ value=\ $setting[font_right]\ size=\25\ name=\font_right\></td>;
		echo </tr>\n;		
		
		echo <tr><td></td><td><input type=\submit\ value=\Save\ name=\save_settings\ class=\button\></td></tr>;
		
		
		echo </table>;
		echo </form>; 	
?>

Hoffe ich habe es nun verstänldicher erklärt.
 
  • #4
Jo, dann mach ne Function readSettings()

Code:
<?php
function readSettings() {
  $sql = SELECT * FROM settings;
  $result = mysql_query($sql);
  $arr = array();
  while ($row = mysql_fetch_assoc($result)) {
    $arr[$row['val']] = $row['key'];
  }
  return $arr;
}
....
....
....
if(isset($_REQUEST[save_settings])) {
  $sql = UPDATE `settings` SET `key` =->$_REQUEST[font_right]' WHERE `val` =->font_right';
  mysql_query($sql);
  $settings = readSettings();
}
?>

Und beim Aufruf der Seite holste dir deine Settings auch aus dieser Funktion.
d.h. die Funktion muss __erreichbar__ sein, z.B. in einer Include-Datei o.ä.
 
  • #5
Perfekt... Der erste Schritt ist nun erledigt!

Das Problem ist nun, dass nun im Adminbereich die Inputs bzw. die Wert zwar aktualisiert werden, auf der Page, wo die Werte benuzt werden jedoch nicht. Aber ich bin sicher, dass du mir da auch noch einen Tipp hast :D
 
  • #6
Nö, da hilft nur ein Refresh ;)
Eine Seite die schon geöffnet ist kannste mit PHP nicht mehr ändern ;)
 
  • #7
ok Danke!

Wenn wir gerade dabei sind:

Wie kann ich mehrere SQL UPDATES zusammenfassen, so dass ich folgenden Code nur einmal ausführen muss:

Code:
<?php 
   mysql_query($sql);
?>

Danke
 
  • #8
Um wieviele Querys würde es sich denn hier handeln *neugierig bin*
 
  • #9
Hmm... ich denke anfänglich so gegen die 10!

Wenn ich dann den Adminbereich ausbaue werden es sicher schnell mehr werden.
 
  • #10
LOL, da brauchste dir keine Sorgen zu machen, das hält son Server schon aus (ich mach am Tag ca. 20.000 Updates ;))

Wenns dir um die schreibarbeit geht, da hilft wieder ne Function (was auch sonst) mml

Code:
<?php
function processUpdate($sql=false) {
  if(!$sql) return false;
  mysql_query($sql);
}

processUpdate(UPDATE tbl_....... SET ......);
processUpdate(UPDATE tbl_....... SET ......);
processUpdate(UPDATE tbl_....... SET ......);
processUpdate(UPDATE tbl_....... SET ......);
....
....
....
processUpdate(UPDATE tbl_....... SET ......);
?>
 
  • #11
hehe ja... ging mir um die schreibweise :D
 
Thema:

PHP Funktion

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.836
Beiträge
707.957
Mitglieder
51.488
Neuestes Mitglied
elkhse
Oben