DB-Abgleich wenn nicht vorhanden dann

Godstyle

Erfahrenes Mitglied
Guten morgen Leute,

Dies ist ein Ausschnitt aus einem script, welches auch fehlerfrei läuft.

PHP:
if($useite == "herein")
   {
   $hers = $_GET["hersteller"];
   if(isset($_POST['hersteller'])){
$Name= $_POST['hersteller'];


$sql = "INSERT hersteller (hersteller) VALUES ('$Name')";                      

  echo "Ihr Eintrag wurde hinzugefügt";

echo '<br/><a href="index.php?page=hersteller&kat=herein">zur&uuml;ck zur eingabe</a>.';

$result = mysql_query($sql) OR              
die("Query: <pre>".$sql."</pre>\n".                  
"Antwoertchen: ".mysql_error()); 
   }
   else {
   ?>
   <form name="hereint" action="index.php?page=hersteller&kat=herein" method="post">
   <input type="text" name="hersteller" />
   <input type="submit" value="senden" />
   </form>
   <?php
   }}

Wie man erkennen kann, wird unten das formular angezeigt, wenn dort nun ein wert gesendet wird, wechselt es und der Wert wird eingetragen und man kann durch einen link wieder zum Formular zurück gelangen.

Zum Sinn.

Die Werte die hier eingetragen werden, werden an anderer Stelle als drop down wieder ausgelesen, daher wäre es gut, wenn ich an anderer Stelle den sql-Befehl "SELECT DISTINCT" weglassen könnte, indem ich, wenn ich hier die Werte in db übergebe, bereits vorab prüfe ob der Wert bereits vorhanden ist.

zB:

Wert = Haus

prüfen ist der Wert vorhanden dann:
haus ist bereits in der datenbank vorhanden
sonst wert eintragen
haus wurde der datenbank hinzugefügt.


Es ist mir klar, dass es eine if /else funktion sein muss, nur kriege ich es Irgendwie nicht hin, die DB abfrage richtig einzubauen, so das ich die funktion richtig nutzen kann.

Ich danke für eure bemühungen.

MFG Godstyle
 
PHP:
$check = mysql_num_rows(mysql_query("SELECT Wert FROM hersteller WHERE hersteller = '".$Name."'"));

if($check > 0) {
    echo "Datensatz bereits vorhanden.";
} else {
    // Datensatz in Datenbank einfügen
}
 
PHP:
if($useite == "herein")
   {
   $hers = $_GET["hersteller"];
   if(isset($_POST['hersteller'])){
$Name= $_POST['hersteller'];
$check = mysql_num_rows(mysql_query("SELECT '".$name."' FROM hersteller WHERE hersteller = '".$name."'"));

if($check > 0) {
    echo "Datensatz bereits vorhanden.";
} else {

$sql = "INSERT hersteller (hersteller) VALUES ('$Name')";                      

  echo "Ihr Eintrag wurde hinzugef&uuml;gt";

echo '<br/><a href="index.php?page=hersteller&kat=herein">zur&uuml;ck zur eingabe</a>.';

$result = mysql_query($sql) OR              
die("Query: <pre>".$sql."</pre>\n".                  
"Antwoertchen: ".mysql_error()); 
   }}
   else {
   ?>
   <form name="hereint" action="index.php?page=hersteller&kat=herein" method="post">
   <input type="text" name="hersteller" />
   <input type="submit" value="senden" />
   </form>

er sagt mir nun, egal was ich eingebe, das der datensatz bereits vorhanden ist.
Ich habe verschiedene varianten ausprobiert, woran kann das nun liegen?
 
ok, ich habe den fehler gefunden, ich habe nur die schreibweise der varialen falsch gehabt.

TIPP: Bei variablen auf groß und kleinschreibung Achten !!

danke für eure hilfe
 
Zurück