Wenn Feld existiert dann

Hallo,

ich würde gerne es so machen, dass wenn das Feld existiert, das Feld überschrieben wird und wenn das Feld noch nicht existiert, das Feld neu angelegt wird!

Hoffe ihr könnt mir helfen!

grüße

if(is_object($feld)){ $feld->setType("weizen"); }else{ $feld = new Feld("weizen"); }

So nun meine Frage: Feld??
was für ein Feld?
Ein klein wenig genauer das ganze, wäre durchaus hilfreich :smiley:

Jaja ich kleiner…sry

Wenn das Feld in der MySQL Datenbank besteht dann

Ich poste mal den Code

[code] <?php
if(!isset($_POST[‘id’], $_POST[‘titel’],$_POST[‘interpr’])) {
die(“Bitte Benutzen sie das Formular\n”);
}
if(trim($_POST[‘id’]) == “”) {
die(“Keine ID eingegeben”);
}
if(trim($_POST[‘titel’]) == “”) {
die(“Bitte geben sie einen Titel ein”);
}
if(trim($_POST[‘interpr’]) == “”) {
die(“Bitte geben sie einen Interpret ein”);
}
?>

<?php $id = $_POST['id']; $titel = $_POST['titel']; $interpr = $_POST['interpr']; ?>

<?php
include ‘inc/zugriff.php’;
$dz = @mysql_connect($host,$user,$pass)
OR die(‘Verbindung fehlgeschlagen’);
@mysql_select_db($datei)
OR die(‘Konnte Datenbank nicht benutzen’);
$sql = “INSERT INTO hits
(ID, TITEL, NAME)
VALUES
(’”.$id."’,
’".$titel."’,
’".$interpr."’)";
mysql_query($sql) OR die(mysql_error());
echo “

Eintrag erfolgreich

”;
?>

<?php
include ‘inc/zugriff.php’;
$dz = @mysql_connect($host,$user,$pass)
OR die(‘Verbindung fehlgeschlagen’);
@mysql_select_db($datei)
OR die(‘Konnte Datenbank nicht benutzen’);
$sql = “UPDATE
hits
SET
TITEL = ‘$titel’,
NAME = '$interpr’
WHERE
ID = $id”;
mysql_query($sql) OR die(mysql_error());
echo “

Eintrag erfolgreich

”;
?>[/code]

Das fette, das soll erst gemacht werden, wenn das feld besteht und das kursive soll gemacht werden, wenn das feld nicht existiert!

Kopfkratz
ich hab mich nie mit dem anpassen von Tabellen beschäftigt… oder meinst du mit “Feld in der Datenbank” vielleicht doch eher die Tabellen in der Datenbank?
Weil Felder ja die Spalten in einer Tabelle sind.

wenn es darum geht Tabellen anzupassen kann ich jetzt spontan nur die MySQL Dokumentation empfehlen… ist vielleicht nicht leicht verständlich, aber mehr kann ich momentan auch nicht helfen:
dev.mysql.com/doc/refman/5.1/de/alter-table.html
dev.mysql.com/doc/refman/5.0/en/ … table.html

z.B. kannst du eine Tabelle erstellen, wenn sie nicht existiert mit:

CREATE TABLE IF NOT EXISTS `tbl_name` ... und dann die ganzen Spaltennamen und typen

erstell dir die Tabelle sonst in phpmyadmin einmal, und schau dir die Syntax an.

mfg Balmung

ohje…
Das was du meinst ist ein DATENSATZ
Felder sind Spalten in einer Tabelle
Datensätze quasi die Zeilen.

$sql = "SELECT COUNT(*) AS anzahl FROM `hits` WHERE `ID`='".$id."'"; $query = mysql_query($sql); $ds = mysql_fetch_array($query); if($ds['anzahl'] == 0){ //INSERT INTO, weil datensatz nicht gefunden wurde }else{ //UPDATE, weil datensatz existiert }

Sry aba da steht doch Felder:[attachment=0]Unbenannt.JPG[/attachment]

ID ist ein Feld
NAME ist ein Feld
TITEL ist ein Feld…

das was du aber doch wissen willst, ist wenn ein bestimmter Datensatz mit der ID ‘123’ oder so existiert… oder mit der ID ‘456’…

Sorry hast recht ich bin noch am mysql lernen weißt du =(

also funktioniert das so?

<?php $sql = "SELECT COUNT(*) AS anzahl FROM `hits` WHERE `ID`='".$id."'"; $query = mysql_query($sql); $ds = mysql_fetch_array($query); if($ds['$id'] == 0){ include 'inc/zugriff.php'; $dz = @mysql_connect($host,$user,$pass) OR die('Verbindung fehlgeschlagen'); @mysql_select_db($datei) OR die('Konnte Datenbank nicht benutzen'); $sql = "INSERT INTO hits (ID, TITEL, NAME) VALUES ('".$id."', '".$titel."', '".$interpr."')"; mysql_query($sql) OR die(mysql_error()); echo "<p>Eintrag erfolgreich</p>"; }else{ include 'inc/zugriff.php'; $dz = @mysql_connect($host,$user,$pass) OR die('Verbindung fehlgeschlagen'); @mysql_select_db($datei) OR die('Konnte Datenbank nicht benutzen'); $sql = "UPDATE hits SET TITEL = '$titel', NAME = '$interpr' WHERE ID = $id"; mysql_query($sql) OR die(mysql_error()); echo "<p>Eintrag erfolgreich</p>"; } ?>

nein, aber so sollte es:

[code]<?php

include ‘inc/zugriff.php’;
$dz = @mysql_connect($host,$user,$pass)
OR die(‘Verbindung fehlgeschlagen’);
@mysql_select_db($datei)
OR die(‘Konnte Datenbank nicht benutzen’);

$sql = “SELECT COUNT(*) AS anzahl FROM hits WHERE ID=’”.$id."’";
$query = mysql_query($sql);
$ds = mysql_fetch_assoc($query);
if($ds[‘anzahl’] == 0){
$sql = “INSERT INTO hits
(ID, TITEL, NAME)
VALUES
(’”.$id."’,
’".$titel."’,
’".$interpr."’)";
mysql_query($sql) OR die(mysql_error());
echo “

Eintrag erfolgreich

”;
}else{
$sql = “UPDATE
hits
SET
TITEL = ‘$titel’,
NAME = '$interpr’
WHERE
ID = $id”;
mysql_query($sql) OR die(mysql_error());
echo “

Eintrag erfolgreich

”;
}
?>[/code]
(obwohl da noch ne menge syntaktisches ist was ich anprangern würde, aber ich nehme an das funktioniert so weit)

mfg Balmung

Danke

ganz doll knuddel

funktioniert