Lieferland/kosten
Gerald
- php
Hallo Leute,
bei meinen Anmeldeformular gibt es die Rubrik LAND
<select name="txtland" size="1" style="width:100px;font-size:10px">
<option selected value="Austria"> Austria </option>
<option value="Deutschland"> Deutschland </option>
<option value="Schweiz"> Schweiz </option>
</select>
Die werden in die DB reingeschrieben und beim Warenkorb wieder angezeigt.
Jetzt möchte ich auch die Lieferkosten dazuschreiben.
5,-Euro Austria
6,-EuroDeutschland
7,-Euro Schweiz
Wie soll ich das am besten machen das beim Warenkorb beides steht?
LAND=.......
LIEFERKOSTEN=........
Danke schon mal im voraus Geri
Hi,
<select name="txtland" size="1" style="width:100px;font-size:10px">
<option selected value="Austria"> Austria </option>
<option value="Deutschland"> Deutschland </option>
<option value="Schweiz"> Schweiz </option>
</select>
Als erstes würde ich das so umschreiben:
<select name="txtland" size="1" style="width:100px;font-size:10px">
<option selected value="1"> Austria </option>
<option value="2"> Deutschland </option>
<option value="3"> Schweiz </option>
</select>
als value von $_POST['txtland'] bzw. $_GET['txtland'] hast du dann die
ID 1,2 oder 3 dadurch lässt sich das ganze besser erweitern, noch
besser wäre es wenn du eine Tabelle in der DB anlegst wo es 2 spalten, u.U.auch 3 giebt.
----------------------------------------
| id_land | land_name | lieferkosten |
----------------------------------------
| 1 | Austria | 5 |
----------------------------------------
| 2 | Deutschland | 6 |
----------------------------------------
dann erstellst du daraus die <select>-Box ziemlich einfach und kansnt
das auch schön ausgeben wieviel denn an lieferkosten anfallen.
Wobei mir eins nicht klar ist, warum Deutschland, Schweiz (also
deutsch) und Austria (english) warum nid Östereich? oder Germany +
Switzerland??? finde das etwas diskriminierend den Österreichern
gegenüber. und das obwohl ich badner bin, vll. aber auch gerade deshalb.
MfG
Hi,
<select name="txtland" size="1" style="width:100px;font-size:10px">
<option selected value="Austria"> Austria </option>
<option value="Deutschland"> Deutschland </option>
<option value="Schweiz"> Schweiz </option>
</select>Als erstes würde ich das so umschreiben:
<select name="txtland" size="1" style="width:100px;font-size:10px">
<option selected value="1"> Austria </option>
<option value="2"> Deutschland </option>
<option value="3"> Schweiz </option>
</select>als value von $_POST['txtland'] bzw. $_GET['txtland'] hast du dann die
ID 1,2 oder 3 dadurch lässt sich das ganze besser erweitern, noch
besser wäre es wenn du eine Tabelle in der DB anlegst wo es 2 spalten, u.U.auch 3 giebt.
| id_land | land_name | lieferkosten |
| 1 | Austria | 5 |
| 2 | Deutschland | 6 |
dann erstellst du daraus die <select>-Box ziemlich einfach und kansnt
das auch schön ausgeben wieviel denn an lieferkosten anfallen.
Ja ok dachte ich mir und habe in der DB eine Tabelle LANDversand angelegt - Das Problem ist wie kann ich sie ausgeben?
Die Ausgabe Kunden
$anlegen = 'INSERT INTO Kunden
(firma,
anrede,.....
schreibe ich in die DB>KUNDEN und gebe es nachher im Warenkorb aus!
WIE und WO soll ich LANDversand hinschreiben damit es sichtbar – auswählbar und im Warenkorb ausgegeben wird??
Wobei mir eins nicht klar ist, warum Deutschland, Schweiz (also
deutsch) und Austria (english) warum nid Östereich? oder Germany +
Switzerland??? finde das etwas diskriminierend den Österreichern
gegenüber. und das obwohl ich badner bin, vll. aber auch gerade deshalb.
»»
Das liegt mir fern das ich die Österreicher diskriminiere - Austria zu schreiben war ich eben gewöhnt
MfG
Danke Geri
Hi,
Ja ok dachte ich mir und habe in der DB eine Tabelle LANDversand angelegt - Das Problem ist wie kann ich sie ausgeben?
Die Ausgabe Kunden
$anlegen = 'INSERT INTO Kunden
(firma,
anrede,.....
schreibe ich in die DB>KUNDEN und gebe es nachher im Warenkorb aus!
du verknüpfst die tabelle land mit der tabelle kunden indem du bei der tabelle kunden noch ein spalte namens 'land_id' oder so ähnlich anlegst.
dann ein:
$sql = "SELECT blablabla FROM kunden "
."INNER JOIN land "
."ON(land.id_land = kunden.land_id) ";
$erg = mysql_querry($sql);
while($daten = mysql_fetch_array($erg))
{
echo $daten['name'];
echo $daten['lieferkosten'];
echo $daten['land'];
etc.
}
Wenn du natürlich das ganze jetzt nur für die eine firma machen willst, die gerade in ihren Warenkorb guggt dann
$sql = "SELECT blablabla FROM kunden "
."INNER JOIN land "
."ON(land.id_land = kunden.land_id) "
."WHERE id_firma=$firma_id";
$erg = mysql_querry($sql);
$daten = mysql_fetch_array($erg):
echo $daten['name'];
echo $daten['lieferkosten'];
echo $daten['land'];
etc.
WIE und WO soll ich LANDversand hinschreiben damit es sichtbar – auswählbar und im Warenkorb ausgegeben wird??
na das kommt drauf an wo und wie du es hinschreiben willst.
Danke Geri
bitte.
MfG
PS: du bist nicht reinzufällig MI-Student und grad im 3ten Semester?
Hi,
Wenn du natürlich das ganze jetzt nur für die eine firma machen willst, die gerade in ihren Warenkorb guggt dann
$sql = "SELECT blablabla FROM kunden "
."INNER JOIN land "
."ON(land.id_land = kunden.land_id) "
."WHERE id_firma=$firma_id";
$erg = mysql_querry($sql);
$daten = mysql_fetch_array($erg):
echo $daten['name'];
echo $daten['lieferkosten'];
echo $daten['land'];
etc.
bzw. für den angemeldeten Kunde wo du hoffentlich weist wer das ist
$sql = "SELECT blablabla FROM kunden "
."INNER JOIN land "
."ON(land.id_land = kunden.land_id) "
."WHERE id_kunde=$kunde_id";
$erg = mysql_querry($sql);
$daten = mysql_fetch_array($erg):
echo $daten['name'];
echo $daten['lieferkosten'];
echo $daten['land'];
etc.
Hi,
Hallo
Ja ok dachte ich mir und habe in der DB eine Tabelle LANDversand angelegt - Das Problem ist wie kann ich sie ausgeben?
Die Ausgabe Kunden
$anlegen = 'INSERT INTO Kunden
(firma,
anrede,.....
schreibe ich in die DB>KUNDEN und gebe es nachher im Warenkorb aus!du verknüpfst die tabelle land mit der tabelle kunden indem du bei der tabelle kunden noch ein spalte namens 'land_id' oder so ähnlich anlegst.
Mist wie konnte ich das vergessen :-(
dann ein:
$sql = "SELECT blablabla FROM kunden "
."INNER JOIN land "
."ON(land.id_land = kunden.land_id) "; // DAS war es was ich gesucht habe
$erg = mysql_querry($sql);
while($daten = mysql_fetch_array($erg))
{
echo $daten['name'];
echo $daten['lieferkosten'];
echo $daten['land'];
etc.
}Wenn du natürlich das ganze jetzt nur für die eine firma machen willst, die gerade in ihren Warenkorb guggt dann
$sql = "SELECT blablabla FROM kunden "
."INNER JOIN land "
."ON(land.id_land = kunden.land_id) "
."WHERE id_firma=$firma_id";
$erg = mysql_querry($sql);
$daten = mysql_fetch_array($erg):
echo $daten['name'];
echo $daten['lieferkosten'];
echo $daten['land'];
etc.WIE und WO soll ich LANDversand hinschreiben damit es sichtbar – auswählbar und im Warenkorb ausgegeben wird??
na das kommt drauf an wo und wie du es hinschreiben willst.
Danke Geri
bitte.
MfG
Danke Daniel
PS: du bist nicht reinzufällig MI-Student und grad im 3ten Semester?
Nein, ich komme mir aber so vor - bin etwas(etwas??) aus der übung.
ps:es wäre nett wenn du mir ein mail schreiben würdest damit ich dich mal kontaktieren kann. wannibo@sms.at
Hi,
ps:es wäre nett wenn du mir ein mail schreiben würdest damit ich dich mal kontaktieren kann. wannibo@sms.at
ist, ok. mach ich bei gelegenheit wenn ich zuhause bin. darf die
Geschäfts addy zu sowas nicht verwenden. daher wirst du wohl auch nicht
sofort antowert erhalten wenn du mich versuchst zu kontaktieren, alles
weitere klären wir würd ich sagen aber per mail.
freut mich dir geholfen zu haben.
MfG
Hi Daniel,
Als erstes würde ich das so umschreiben:
<select name="txtland" size="1" style="width:100px;font-size:10px">
<option selected value="1"> Austria </option>
<option value="2"> Deutschland </option>
<option value="3"> Schweiz </option>
</select>
Warum nicht
at => Österreich
de => Deutschland
ch => Schweiz
?
[..] und das obwohl ich badner bin [..]
ich auch ;-)
Gruß, Marian
Hi,
Warum nicht
at => Österreich
de => Deutschland
ch => Schweiz
Wenn dann
<option value="1">at => Österreich</option>
etc.
im value sollte die ID des Landes stehen, ersleichtert die weitere arbeit damit.
MfG
Hi Daniel,
Warum nicht
at => Österreich
de => Deutschland
ch => SchweizWenn dann
<option value="1">at => Österreich</option>
etc.im value sollte die ID des Landes stehen, ersleichtert die weitere arbeit damit.
Nein, ich mein <option value="de">Deutschland</de>
Was de ist, weiß man, was 1 ist, nicht.
Gruß, Marian
Hi Daniel,
Warum nicht
at => Österreich
de => Deutschland
ch => SchweizWenn dann
<option value="1">at => Österreich</option>
etc.im value sollte die ID des Landes stehen, ersleichtert die weitere arbeit damit.
Nein, ich mein <option value="de">Deutschland</de>
Was de ist, weiß man, was 1 ist, nicht.
Ja aber da kommen ca 60 Länder dazu – von jedem Land kenne ich nicht die Abkürzung – somit ist es wohl egal – nehme ich an.
Gruß, Marian
nochmals danke cu Geri
Hi Geri,
Ja aber da kommen ca 60 Länder dazu – von jedem Land kenne ich nicht die Abkürzung – somit ist es wohl egal – nehme ich an.
http://de.selfhtml.org/diverses/sprachenkuerzel.htm#uebersicht_iso_3166
Gruß, Marian
Moin!
Ja aber da kommen ca 60 Länder dazu – von jedem Land kenne ich nicht die Abkürzung – somit ist es wohl egal – nehme ich an.
http://de.selfhtml.org/diverses/sprachenkuerzel.htm#uebersicht_iso_3166
Ist aber trotzdem keine gute Idee, ein Länderkürzel für diesen Zweck zu verwenden. Nur mit IDs könnte man problemlos "Österreich (Expressversand)" und "Österreich (Schneckenpost)" als Versandformen wählen, dafür zwei verschiedene Tarife berechnen und unabhängig von irgendeiner ID-Bezeichnung in der Datenbank speichern.
Mit dieser ID kommt man sowieso nur bei MySQL stärker in Berührung, vernünftige Datenbanksysteme verstecken derartige Fremdschlüssel vor dem benutzenden Programm - insofern sollte man eben nicht den Fehler machen und dieser ID noch irgendeine Zusatzbedeutung mitgeben. Der Programmierer muß nicht wissen, dass die 1 für "Österreich" und die 14 für "Russische Enklave Ostpreußen" steht. Diese Informationen werden einmalig in der Datenbank gespeichert, die Liste künftig immer basierend auf einem Query generiert, und die ganze Zuordnung ID <-> Land ist für den Verarbeitungsvorgang absolut irrelevant.
Hi,
Nein, ich mein <option value="de">Deutschland</de>
Was de ist, weiß man, was 1 ist, nicht.
brauchst du auch garnicht wissen. angezeigt wird das zwischen
<option></option> als wert wird aber falls vorhanden vlue="" übergeben.
mach ich da nun "de" als value muss ich erstmal in der DB guggen welches
land das überhaupt ist und welche ID es hat bevor ich es einem kunden
zuordnen kann, mach ich als value aber die ID ist es wessentlich
einfacher bei der weiterverarbeitung.
MfG
Hi Daniel,
Nein, ich mein <option value="de">Deutschland</de>
Was de ist, weiß man, was 1 ist, nicht.brauchst du auch garnicht wissen. angezeigt wird das zwischen
<option></option> als wert wird aber falls vorhanden vlue="" übergeben.
nein, ich mein nicht die benutzer, sondern den programmierer.
Ja, eigentlich ist es egal. aber nur eigentlich ;-)
Gruß, Marian
Hi,
nein, ich mein nicht die benutzer, sondern den programmierer.
na wenn ich was programmier weis ich welche ID zu was gehört und kann auch mit 1,2,3 arbeiten.
MfG
Hi Daniel,
na wenn ich was programmier weis ich welche ID zu was gehört und kann auch mit 1,2,3 arbeiten.
Eben - und bei de/ch/at weißt du es leichter.
Gruß, Marian
Hi,
Eben - und bei de/ch/at weißt du es leichter.
solangs nur bei den 2 bleibt, wenn ich das aber weltweit mache
sicherlich nichtmehr, ich habs eher mit zahlen. und auch für das
programm und den code aufwand sind zahlen viel besser.
NIEDER MIT DEN BUCHSTABEN!
3420123746129452634519