Hallo miteinander!
Habe ein Problem mit einer bedingten Anweisung. Ich bekomme fünf Werte aus einem Formular ($_POST) wobei ich einen Wert (marke) mit einem vorhandenen aus der Datenbank (mysql) vergleichen will. Wenn dieser Wert bereits in der Datenbank existiert, soll er nicht noch einmal angelegt werden (übernehme einfach die ID vom vorhandenen Datensatz zum weiteren inserten).
Aus diesem Grund habe ich die Variable $marke_exists (boolean) eingeführt um die Existenz bzw. Nicht-Existenz des Wertes zu speichern. Ist $marke_exists true, existiert der Wert bereits, ansonsten nicht.
Die Daten werden korrekt vom Formular gesendet und die SQL-Anweisung ist ebenfalls richtig. Trotzdem funktioniert das nicht ganz so wie ich es mir Vorgestellt habe und ich kann den Fehler einfach nicht finden. Eine Fehlermedlung an sich wird nicht ausgegeben, jedoch weiß ich, dass ich garnicht erst in den Anweisungsblock (in der while-Schleife) komme.
Hoffe, dass ihr mir helfen könnt und bin dankbar für jede Antwort und jeden Vorschlag!
Gruß!
Habe ein Problem mit einer bedingten Anweisung. Ich bekomme fünf Werte aus einem Formular ($_POST) wobei ich einen Wert (marke) mit einem vorhandenen aus der Datenbank (mysql) vergleichen will. Wenn dieser Wert bereits in der Datenbank existiert, soll er nicht noch einmal angelegt werden (übernehme einfach die ID vom vorhandenen Datensatz zum weiteren inserten).
Aus diesem Grund habe ich die Variable $marke_exists (boolean) eingeführt um die Existenz bzw. Nicht-Existenz des Wertes zu speichern. Ist $marke_exists true, existiert der Wert bereits, ansonsten nicht.
Die Daten werden korrekt vom Formular gesendet und die SQL-Anweisung ist ebenfalls richtig. Trotzdem funktioniert das nicht ganz so wie ich es mir Vorgestellt habe und ich kann den Fehler einfach nicht finden. Eine Fehlermedlung an sich wird nicht ausgegeben, jedoch weiß ich, dass ich garnicht erst in den Anweisungsblock (in der while-Schleife) komme.
Hoffe, dass ihr mir helfen könnt und bin dankbar für jede Antwort und jeden Vorschlag!
Gruß!
PHP-Code:
$marke = $_POST['marke']." ";
$type = $_POST['type']." ";
$karosserie = $_POST['karosserie']." ";
$baujahr = $_POST['baujahr']." ";
$sitzart = $_POST['sitzart']." ";
/****************************************MARKENPRÜFUNG**************************************************/
$marke_exists=false; //Ausgangssituation: Marke existiert noch nicht
$marke_id;
$sel_marke="SELECT `marke_id`, `marke_name` FROM `tbl_marke`";
$quer_marke=mysql_query($sel_marke) or die(mysql_error());
while($res_marke=mysql_fetch_array($quer_marke))
{
//Ausgabe zum debugging:
echo $res_marke[1]." "; //Ausgabe: Audi
echo $marke."<br>"; //Ausgabe: Audi
//Wenn die Eingabe mit einem vorhandenen Eintrag übereinstimmt muss die Marke nicht doppelt eingetragen werden.
//In diesen Anweisungsblock komme ich nicht hinein:
if(strtolower($res_marke[1]) == strtolower($marke))
{
$marke_exists=true; //Marke vorhanden
$marke_id=$res_marke[0]; //ID wird zum automatischen inserten gespeichert
break;
}
else
{
continue;
}
}
//Vermeidung der Redundanz (DB) bei Marken sowie Typen, da diese immer unique sind
if($marke_exists == false)
{
//INSERT marke (SET markenID)
echo 'marke existiert noch nicht';
}
elseif($marke_exists == true)
{
echo 'marke existiert';
}
Kommentar