phpbar.de logo

Mailinglisten-Archive

Verwendung von replace

Verwendung von replace

Wolfgang Hauck wbh at euta.net
Die Jul 15 16:45:27 CEST 2003


>Ich bin der Schuldige !

>Die Idee besteht darin ein Formular mehrfach zu verwenden.
>Also sowohl für Neuaufnahme eines Datensatzes, als auch für das
>ändern, oder dem löschen
>eines bereits vorhandenen Datensatzes.
>Ich suche nach einer Möglichkeit eine vorhandene SQL-Query ohne
>größere Veränderung für jeden !!!!!!!!! dieser Fälle zu verwenden.

>Daher klopfe ich das 'replace' auf alle möglichen Einsatzformen ab.

>m.f.G.

Hi Stephan,

Bei nem replace benötigst du !!! immer !!! einen eindeutigen INDEX, 
gibt's den net passiert auch nix. Da kommst du mit REPLACE nicht 
weiter. Du musst ja sowieso vor deiner UPDATE oder INSERT Anweisung 
abfragen obs denn den Datensatz schon gibt. Und dazu brauchst du nen 
eindeutigen INDEX z.B. Kundennummer oder so...
Wenn du z.B. 20 Huber Franz hast weiss dein Script nimmer was es denn 
tun soll. Da ist ein UPDATE eh besser, denn sonst musst du immer 
alles übergeben...

Für solche Zwecke ist es durchaus nützlich eine Funktion zu 
schreiben, die das übernimmt:

zum Bleistift:

function getquery($tabelle,$felder,$id = "") {
  $ende = "";
  if (count($felder)) {
    if($felder[$id]) {
      $query = "UPDATE";
      $ende = " WHERE ".$id." = '".addslashes($felder[$id])."';";
    } else {
      $query = "INSERT INTO";
    }
  }
  $query .= " ".$tabelle." SET";
  while (list($key, $val) = each($felder)) {
    if ($key != $id) $query .= " ".$key." = '".addslashes($val)."',";
  }
  $query = substr($query,0,-1).$ende;
  return $query;
}

$test["id"] = 3;
$test["name"] = "Maier";
$test["vorname"] = "Kurt's";
$test["telefon"] = "12345";
$test["fax"] = "2345678";
$test["email"] = "emil at bla.net";

echo getquery("testtabelle",$test,"id")."<BR>";
echo getquery("testtabelle",$test)."<BR>";

Wenn du willst kannste da noch ne Prüfung reinschnitzen, aber ah 
bisserl was solltste auch noch tun...

MfG Wolfgang





-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive