Mehrere Datensätze speichern (hilfe :( )

22hase

Grünschnabel
Hey,

also ich verzweifel echt, ich komm einfach nicht drauf :( könnt ihr mir nicht helfen ?

PHP:
<?php
if(isset($_POST['eintrag']))
{
    foreach($_POST["airport1"] as $code => $val)
   {
    if(!$val) continue;
 
 //Datum (buchbar, Saison von und bis zerlegen und zum englischen zusammenfügen)

$buchbardatum=$_POST["buchbar"][$code];
$buchbardatum=explode(".",$buchbardatum);
$buchbar=implode("-",array_reverse($buchbardatum));

$vondatum=$_POST["saisonvon"][$code];
$vondatum=explode(".",$vondatum);
$von=implode("-",array_reverse($vondatum));

$bisdatum=$_POST["saisonbis"][$code];
$bisdatum=explode(".",$bisdatum);
$bis=implode("-",array_reverse($bisdatum));
 


 
    $eintrag = "        
        INSERT INTO f_oneway (airpID,airpID2,airpID3,airpID4,airpIDz,airpIDvia,airlID,airlID2,oPreis,oTax,oBuchbar,oSaisonVon,oSaisonBis,kID)
      VALUES (
        (SELECT airpID FROM f_airports WHERE airpCode = '".$_POST["airport1"][$code]."'),
        (SELECT airpID FROM f_airports WHERE airpCode = '".$_POST["airport2"][$code]."'),
        (SELECT airpID FROM f_airports WHERE airpCode = '".$_POST["airport3"][$code]."'),
        (SELECT airpID FROM f_airports WHERE airpCode = '".$_POST["airport4"][$code]."'),
      (SELECT airpID FROM f_airports WHERE airpCode = '".$_POST["airportz"][$code]."'),
      (SELECT airpID FROM f_airports WHERE airpCode = '".$_POST["via"][$code]."'),
      (SELECT airlID FROM f_airlines WHERE airlCode = '".$_POST["airline1"][$code]."'),
      (SELECT airlID FROM f_airlines WHERE airlCode = '".$_POST["airline2"][$code]."'),
        '".$_POST["preis"][$code]."','".$_POST["tax"][$code]."','".$buchbar."','".$von."','".$bis."',
      (SELECT kID FROM f_kunden WHERE kSession = '".session_id()."'))";      
   
    if(!mysql_query($eintrag))
   {
    exit(mysql_error());
    }
   else
    {
    echo '<strong><font color="#FF0000">Angebote erfolgreich gespeichert!<br></font></strong>';
    }
 
}
}
}
  echo '<h3>OneWay-Class Angebote eintragen:</h3>';
  echo '<form action="oneway_eintragen.php" method="post">';
  echo '<table border="0">';
  echo '<tr>';
  echo '<th align="center" width="300" colspan="4">Abflugairports</th>';
  echo '<th align="center" width="80" >Zielairport</th>';
  echo '<th align="center" width="50" >via</th>';
  echo '<th align="center" width="100" colspan="2">Airlines</th>';
  echo '<th align="center" width="70" >Preis</th>';
  echo '<th align="center" width="100" >Tax / Entgelte</th>';
  echo '<th align="center" width="100" colspan="2">Saison</th>';
  echo '<th align="center" width="70" >buchbar bis</th>';
  echo '</tr><tr>';
  echo '<td align="center" width="60">Nr. 1</td>';
  echo '<td align="center" width="60">Nr. 2</td>';
  echo '<td align="center" width="60">Nr. 3</td>';
  echo '<td align="center" width="60">Nr. 4</td>';
  echo '<td>&nbsp;</td>';
  echo '<td>&nbsp;</td>';
  echo '<td align="center" width="50">Nr. 1</td>';
  echo '<td align="center" width="50">Nr. 2</td>';
  echo '<td>&nbsp;</td>';
  echo '<td>&nbsp;</td>';
  echo '<td align="center" width="50">von</td>';
  echo '<td align="center" width="50">bis</td>';
  echo '</tr><tr>';
  echo '<td align="center">01 <input type="text" name="airport1[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport2[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport3[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport4[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airportz[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="via[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airline1[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="airline2[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo '<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo '<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo '</tr><tr>';
  echo '<td align="center">02 <input type="text" name="airport1[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport2[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport3[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport4[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airportz[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="via[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airline1[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="airline2[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo '<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo '<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo '</tr><tr>';
  echo '<td align="center">03 <input type="text" name="airport1[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport2[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport3[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport4[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airportz[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="via[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airline1[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="airline2[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo '<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo '<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo '</tr><tr>';
  echo '</tr><tr>';
  echo '<td align="center">04 <input type="text" name="airport1[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport2[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport3[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport4[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airportz[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="via[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airline1[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="airline2[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo '<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo '<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo '</tr><tr>';
  echo '</tr><tr>';
  echo '<td align="center">05 <input type="text" name="airport1[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport2[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport3[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport4[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airportz[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="via[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airline1[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="airline2[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo '<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo '<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo '</tr><tr>';
  echo '</tr><tr>';
  echo '<td align="center">06 <input type="text" name="airport1[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport2[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport3[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport4[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airportz[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="via[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airline1[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="airline2[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo '<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo '<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo '</tr><tr>';
  echo '</tr><tr>';
  echo '<td align="center">07 <input type="text" name="airport1[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport2[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport3[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport4[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airportz[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="via[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airline1[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="airline2[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo '<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo '<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo '</tr><tr>';
  echo '</tr><tr>';
  echo '<td align="center">08 <input type="text" name="airport1[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport2[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport3[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport4[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airportz[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="via[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airline1[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="airline2[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo '<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo '<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo '</tr><tr>';
  echo '</tr><tr>';
  echo '<td align="center">09 <input type="text" name="airport1[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport2[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport3[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport4[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airportz[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="via[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airline1[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="airline2[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo '<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo '<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo '</tr><tr>';
  echo '</tr><tr>';
  echo '<td align="center">10 <input type="text" name="airport1[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport2[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport3[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airport4[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airportz[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="via[]" size="2" maxlength="3"></td>';
  echo '<td align="center"><input type="text" name="airline1[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="airline2[]" size="1" maxlength="2"></td>';
  echo '<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo '<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo '<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo '<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo '</tr>';
  echo '</table>';
  echo '<input name="eintrag" type="submit" value="Angebote eintragen">';
  echo '</form>';  
  echo '</div>';

}
?>

Mein erstes Problem ist das ich gerne die Eingabe der Subquery vorne weg auf richtigkeit (also ob die codes übehaupt gibt) prüfen würde. wie ich einen einzelnen weiß ich aber wie das bei mehren datensätzen läuft keine ahnung

mein zweites problem ist wenn es code nicht existiert oder bestimmte felder wie airport1 und zielairport nicht ausgefüllt sind soll hinter dem feld wo es falsch ist oder fehl ne meldung kommen, bzw würde es auch reichen wenn es über dem formular kommt, nur ist es doch so wenn ich mehre fehler auftauchen sagen wir es wurde 2 mal der zielairport vergessen erscheint der fehler auch 2 mal statt 1 mal. oder könnte man auch irgendwie 2 fehler so lassen und einfach noch in welcher zeile der fehler ist dranhängen?

hoffe ihr helft mir, wäre echt super dankbar

Grüße
 
hmmm eigentlich ganz einfach wenn du nicht versuchst alles auf einmal zu machen

als ansatz erstmal aufsplitten in teilprobleme imo als klasse

PHP:
class airport {

private $dbconn;

private $precheck;

public function __cnstruct($dbid){


}


public function insert_data($data){

if($this-check_data($data)){

return$this->write_data($data);
} else {

return false;
}


}


private check_data($data){

/*
* check submitted data
*/

foreach($data as $key => $value){

if( !empty($value)){

} else {


return false;
}

}
return true;

}

private write_data($data)

/**
*write data in db
*/

return true;

}


dann kannst die klasse einfach instanzieren und benutzen

PHP:
$insert = new airport($dbconn);

$insert->insert_data($data);


gruß

katosan
 
wie das löst alle meine probleme? (also jetzt bei dem formular)

könntest du mir noch dazu schreiben, wo was genau rein muss? weil seh da noch ne ganz durch bei den code :( :confused: wäre echt lieb
 
wie das löst alle meine probleme? (also jetzt bei dem formular)

das war hier eigentlich eher als denkanstoß gedacht um dich in die richtige richtung zu schubsen

könntest du mir noch dazu schreiben, wo was genau rein muss? weil seh da noch ne ganz durch bei den code :( :confused: wäre echt lieb

als kurz und knapp wenn du dein form abgeschickt hast, dann wird bei dem nächste Seitenaufruf die Variable $_POST gefüllt. die übergibst du als $data an die airport klasse jetzt hast du alles beieinander um in ruhe die $_POST aka $data in einer schleife durchzunudeln, das machst du in check_data() wenn es da keine probleme gibt, z.B. leere Felder oder unbekannte Flughäfen dann gibt die fkt true zurück und du kannst den kram in die DB schreiben.

check_data() könntes du z.B. um weitere tests erweitern in dem du if's einfügst

PHP:
if($this->check_db_existence($value)){


}
 
Zurück