php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.01.2009, 11:58  
22hase
Gast
 
Beiträge: n/a
Standard Datenbankaufbau und Eintrag?

Hey.

Jetzt schon mal sorry dafür aber ich steige da einfach absolut nicht dahinter

Hier das Formular
PHP-Code:
  echo '<h3>Business-Class Angebote eintragen:</h3>';
  echo 
'<form action="business_eintragen.php" method="post">';
  echo 
'<table border="0">';
  echo 
'<tr>';
  echo 
'<th align="center" width="200" 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 
'<th align="center" width="100" colspan="2">Aufenthalt</th>';
  echo 
'</tr><tr>';
  echo 
'<td align="center" width="50">Nr. 1</td>';
  echo 
'<td align="center" width="50">Nr. 2</td>';
  echo 
'<td align="center" width="50">Nr. 3</td>';
  echo 
'<td align="center" width="50">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 
'<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="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport2[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport3[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport4[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airportz[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="via[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airline1[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airline2[]" size="3"></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 
'<td align="center"><input type="text" name="aufmin[]" size="6"></td>';
  echo 
'<td align="center"><input type="text" name="aufmax[]" size="6"></td>';
  echo 
'</tr><tr>';
    echo 
'<td align="center">02 <input type="text" name="airport1[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport2[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport3[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport4[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airportz[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="via[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airline1[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airline2[]" size="3"></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 
'<td align="center"><input type="text" name="aufmin[]" size="6"></td>';
  echo 
'<td align="center"><input type="text" name="aufmax[]" size="6"></td>';
  echo 
'</tr><tr>';
    echo 
'<td align="center">03 <input type="text" name="airport1[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport2[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport3[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport4[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airportz[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="via[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airline1[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airline2[]" size="3"></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 
'<td align="center"><input type="text" name="aufmin[]" size="6"></td>';
  echo 
'<td align="center"><input type="text" name="aufmax[]" size="6"></td>';
  echo 
'</tr><tr>';
  echo 
'</tr>';
  echo 
'</table>';
  echo 
'<input name="eintrag" type="submit" value="Angebote eintragen">';
  echo 
'</form>'
hier der eintrag
PHP-Code:
if(isset($_POST['eintrag']))
{
  for(
$x=1;$x<=3;$x++)
  {
    foreach(
$_POST["airport$x"] as $code => $val)
    {
   
$eintrag "         
   INSERT INTO f_business (airpID,airpID2,airpID3,airpID4,bPreis,bTax) 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]."'),
   '"
.$_POST["preis"][$code]."','".$_POST["tax"][$code]."')";      
   if(!
mysql_query($eintrag))
   {
   exit(
mysql_error());
   }
   else 
   {
   echo 
'<strong><font color="#FF0000">Angebote erfolgreich gespeichert!<br></font></strong>';
     }
    }
  }

hier mal die 2 tabellen als bildchen (ist sicher besser zum anschauen)





ich weiß nicht was ich falsch amche oder falsch ist und warum jedes mal diese meldung kommt...Column 'airpID' cannot be null
ich weiß es echt nicht und goggle braucht mir auch nix vernüftiges
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.01.2009, 12:18  
erc
Erfahrener Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 730
PHP-Kenntnisse:
Fortgeschritten
erc wird schon bald berühmt werden
Standard

Das heißt du willst ein Datensatz speichern wo der Wert airpID nicht gesetzt ist. Also musst du jetzt die Stelle suchen wo die Infromation verloren geht. Ich vermute mal das dein Script aber noch nicht einmal das macht was du möchest. Die Schleifen zum Formular sehen für mich falsch aus. Erklär mal was du genau machen willst.
erc ist offline   Mit Zitat antworten
Alt 04.01.2009, 12:31  
22hase
Gast
 
Beiträge: n/a
Standard

also es man soll angebote für flüge eintragen können.

es sollen zum beispiel 3 zeilen zum eintragen vorhanden sein, wenn man jedoch nur 2 angebote reinschreibt und das dritet frei bleibt sollen nur die 2 eingetragen werden.

also sprich muss der automatisch erkennen wieviele zeilen ausgefüllt sind und diese eintragen. seh da bald kein stich mehr, sorry aber steh da total auf den schlauch
  Mit Zitat antworten
Alt 04.01.2009, 12:49  
erc
Erfahrener Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 730
PHP-Kenntnisse:
Fortgeschritten
erc wird schon bald berühmt werden
Standard

Versuchs mal so:

PHP-Code:
foreach($_POST["airport1"] as $code => $val) {
    if(!
$val) continue;
    
    
$eintrag "         
        INSERT INTO f_business (airpID,airpID2,airpID3,airpID4,bPreis,bTax) 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]."'),
        '"
.$_POST["preis"][$code]."','".$_POST["tax"][$code]."')";      
    
    if(!
mysql_query($eintrag)) {
        exit(
mysql_error());
    } else {
        echo 
'<strong><font color="#FF0000">Angebote erfolgreich gespeichert!<br></font></strong>';
    }

Aber du musst die Eingaben prüfen. Wenn da jemand bei Airport1 nen tippfehler macht oder was eingibt was nicht in deiner DB steht gibts ein Fehler.
erc ist offline   Mit Zitat antworten
Alt 04.01.2009, 13:07  
22hase
Gast
 
Beiträge: n/a
Standard

ah ok...bei falsch eingabe kommt der selbe fehler wir voher, werds mal proberien

DANKE

Geändert von 22hase (04.01.2009 um 13:17 Uhr).
  Mit Zitat antworten
Alt 04.01.2009, 15:18  
22hase
Gast
 
Beiträge: n/a
Standard

PHP-Code:
 if(mysql_num_rows(mysql_query("SELECT airpID FROM f_airports WHERE airpCode = '".$_POST["airport1"]."'")) == 0)
 {
foreach(
$_POST["airport1"] as $code => $val
{
 if(!
$val) continue;
 
    
$eintrag "         
        INSERT INTO f_business (airpID,airpID2,airpID3,airpID4,bPreis,bTax) 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]."'),
        '"
.$_POST["preis"][$code]."','".$_POST["tax"][$code]."')";      
    
    if(!
mysql_query($eintrag)) 
    {
    exit(
mysql_error());
    } 
    else 
    {
    echo 
'<strong><font color="#FF0000">Angebote erfolgreich gespeichert!<br></font></strong>';
    }


 }
 else
 {
 echo 
'Fehler';
 } 
hab das erstmal so, also wenn was eingeben wird was nicht existiert trägt es das nicht ein, gibt aber auch nicht Fehler zurück sondern den mysql_error...oser bracuh uch "echo Fehler" nicht?

die eingabe prüfung müsst ich dich für alle airportIDs machen, gibts da ne bessere lösung als meine?
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sortierreihenfolge nach Eintrag oder letzter Änderung leuktra Datenbanken 7 29.01.2007 19:20
UPDATE eintrag falls vorhanden ansonsten INSERT Plague Datenbanken 4 19.01.2007 13:36
[Erledigt] 'Sender:' Eintrag im Mailheader PHP-Fortgeschrittene 2 01.10.2006 17:00
bilder anzeige Nosferatu PHP Tipps 2006 2 31.03.2006 09:44
Mysql Eintrag über mehrere Zeielne Eintrag funzt nicht PHP Tipps 2006 3 14.03.2006 19:38
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
PHP klappmenü PHP Tipps 2005-2 1 15.10.2005 00:31
Eintrag wird nicht eingetragen (Kontrollfunktion lügt?) PHP Tipps 2005-2 0 02.10.2005 12:00
Nächsten Eintrag in der mySQL DB auslesen Datenbanken 6 14.09.2005 13:24
eintrag ändern tommi89 Datenbanken 4 15.08.2005 11:14
[Erledigt] Chat aktualisieren bei neuem eintrag... PHP-Fortgeschrittene 2 24.04.2005 15:11
Vorigen und nächsten Eintrag Datenbanken 9 26.03.2005 01:13
Eintrag löschen und Seite refreshen Paulo PHP Tipps 2004 1 22.10.2004 15:50
Wie kann ich den lezten Eintrag wieder auslesen? Pimbolie1979 Datenbanken 7 19.08.2004 10:49
Abfrage ob Eintrag schon in DBbevor Eintrag gespeichert wird Datenbanken 6 06.08.2004 22:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datenbankaufbau

Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum