Mehrere Auswahlfelder und nur ein Submit-Button

Verfasst am: 03. 07. 2011 [07:50]
romacron
Dabei seit: 01.11.2009

1143 Beiträge
Beitrag hilfreich?

Ja, escaped ist das ganze (glückwunsch)

Von aussen betrachtet, sollte das soweit gehen.

Der Trick warum
$_Post['angebot']
zu
$angebot wird ist recht simple. Du musst die Angebot aus $_Post rausziehen. Dann vilidiert man die Variable gleich mit.

Wenn wie zuerst in der Query $_Post['angebot']; stand, weisst du nicht ob du sie bereits validiert hattest. Eine Variable nicht validiert ist nicht so toll.

Zur Tabellenstruktur:

Es ist üblich mit "id" und "bezeichnung" zu arbeiten

|id|angebot|
|1|gutes angebot|
|2|sonderangebot|
|3|sondersonder ja, auch angebot|

dann in den Angebots select-feldern
PHP
<option>
   <select value="1">gutes angebot</select>
   <select value="2">sonderangebot</select>
</option>


wenn alle Werte über id's laufen können die bei der Validierung nach dem Senden

PHP
$angebot = (int)$_Post['angebot'];

geschrieben werden (bitte auch escapen m.e gehörts zu ordentlichen Schreibweise)

Die Query
PHP
natürlich sollte die id Spalte in der Tabelle als int oder tinyint erstellt sein.
 
SELECT ~~~ id=`$angebot`


Mit den ziffern als id's arbeitet das ganze system schneller direkter und ist im Code weniger anfällig für tippefehler
Addresse
Adresse
adrsse
...usw. 1 ist 1
 
Verfasst am: 03. 07. 2011 [10:47]
Marcus
Dabei seit: 27.01.2011
Themenersteller

85 Beiträge
Beitrag hilfreich?

Hallo zusammen!

Wie ihr mir helft, ist ja der reinste Wahnsinn. Das hab ich neulich in einem PHP-Forum ganz anders erlebt.

Mein jetztiger Code, um die Angebote anzuzeigen lautet:

PHP
<select name="Angebot" size="1" id="Angebot" class="select">
						<?php
						//Angebot auslesen
						$sqlbefehl ="
						Select distinct
						Angebot
						From
						programm
						ORDER BY
						Angebot
						";
						$erg_cats = mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
						while($cat = mysql_fetch_assoc($erg_cats)){
						echo '<option value="'.$cat['Angebot'].'">'.$cat['Angebot'].'</option>';
						}
						?>
					</select>


Wenn ich den jetzt - mit meinem Wissen - auf deine Version zu ändern versuche und das schaut so aus:

PHP
<option name="Angebot" size="1" id="id" class="select">
						<?php
						//Angebot auslesen
						$sqlbefehl ="
						Select distinct
						Angebot
						From
						programm
						ORDER BY
						Angebot
						";
						$erg_cats = mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
						while($cat = mysql_fetch_assoc($erg_cats)){
						echo '<select value="'.$cat['Angebot'].'">'.$cat['id'].'</select>';
						}
						?>
					</option>
#

sowie dazu noch die id im sql-Befehl und if isset-Befehl ergänze, erhalte ich lauter select-Felder beim Angebot. Aber in keinem steht was drin.

Ich weiß, das hat irgendwo alles nur mit Logik zu tun. Aber so logisch ich auch sonst sein mag, da hakt es bei mir aus.

Portal für Veranstaltungen der Esoterik und Alternativen Verfahren

Mein Blog
 
Verfasst am: 03. 07. 2011 [11:31]
romacron
Dabei seit: 01.11.2009

1143 Beiträge
Beitrag hilfreich?

versuchs mal so:

PHP
<select value="'.$cat['id'].'">'.$cat['Angebot'].'</select>';


die id arbeitet mit der Datenbank und ist auch für die Verknüpfung durch das system verantwortlich. Der Mensch kommt mit der an sich nicht in Verbindung.

Das Angebot ist für den Kunden sichtbar.

hast du denn eine Spalte id im Table?
ist die spalte auf primary_key und autincrement?
 
Verfasst am: 03. 07. 2011 [11:48]
Marcus
Dabei seit: 27.01.2011
Themenersteller

85 Beiträge
Beitrag hilfreich?

Die ID ist Auto_increment und vom Typ INT.

Und dürfte auch als Primärschlüssel festgelegt sein, da unter Indizies vermerkt ist PRIMARY Feld ID


Portal für Veranstaltungen der Esoterik und Alternativen Verfahren

Mein Blog
 
Verfasst am: 03. 07. 2011 [13:18]
Marcus
Dabei seit: 27.01.2011
Themenersteller

85 Beiträge
Beitrag hilfreich?

Ich denke, das ich es erst einmal so lassen muss, wie es ist.

Denn wenn ich value auf der ID basieren lasse, zeigt er mir in der Auswahl jedes Angebot an.

Da ich aber gerne Distinct einsetzen würde, ein Angebot ja auch an verschiedenen Tagen zu verschiedenen Uhrzeiten und an verschiedenen Orten stattfinden kann, müsste das dann alles unter einer iD laufen.

Und das dann wieder so aufzudröseln, das das bei einer Abfrage in Tabellarischer Form ausgegeben wird, übersteigt meine bisherigen Kenntnisse um Längen.

Ich kann mich da nur wiederholen, was ihr mir bisher geholfen habt, ist wirklich irre. Wenn ich das vorher geahnt hätte, was ich mir da freiwillig für Arbeit aufhalse, wäre ich da vermutlich nicht rangegangen.

Wenn die beschi....e ARGE sich nicht quer stellen würde, hätte ich mich ja längst für einen (Fern)Lehrgang für diese Art Programmierung angemeldet. Aber die warten ja lieber darauf, das der Zufall jemanden einen Arbeitsplatz verschafft.

Aber der Markt an Programmierern ist ja 'völlig überlaufen'. Ergo: keine Penunzen für ne Fortbildung.

Portal für Veranstaltungen der Esoterik und Alternativen Verfahren

Mein Blog
 
Verfasst am: 03. 07. 2011 [13:18]
Matthes
Dabei seit: 08.05.2010

174 Beiträge
Beitrag hilfreich?

Nur interessehalber (und weil ich zu faul zum Nachschlagen bin):
Habt ihr das nicht verdreht?
HTML
<option>
<select></select>
</option>

Dieses Konstrukt gibt es doch nicht, select steht außen und die options innen - oder ist das wahrhaftig eine mir unbekannte Variante?


Mal: "May have been the losing side. Still not convinced it was the wrong one."
 
Verfasst am: 03. 07. 2011 [13:26]
Marcus
Dabei seit: 27.01.2011
Themenersteller

85 Beiträge
Beitrag hilfreich?

Hallo Matthes!

Du hast recht!

Das hat auch die erwähnten mehrfachen select-Felder erzeugt.

Portal für Veranstaltungen der Esoterik und Alternativen Verfahren

Mein Blog
 
Verfasst am: 03. 07. 2011 [13:42]
romacron
Dabei seit: 01.11.2009

1143 Beiträge
Beitrag hilfreich?

Lol
icon_redface.gif
sorry da hab ich wohl gepennt. 1. Editor aufmachen. Code schreiben Code formatieren. dann posten
 
Verfasst am: 08. 07. 2011 [13:47]
Marcus
Dabei seit: 27.01.2011
Themenersteller

85 Beiträge
Beitrag hilfreich?

Ich habe mir jetzt mal von Galileo Computing das Buch von Thomas Theis 'Einstieg in PHP 5.3 und MySql 5.5' zugelegt.

Ich hoffe, das ich damit meine Salven von Fragen an Euch reduzieren kann.

Portal für Veranstaltungen der Esoterik und Alternativen Verfahren

Mein Blog
 




Du bist nicht eingeloggt. Bitte beachte, dass Du eingeloggt sein musst, um Themen zu erstellen oder auf Beiträge zu antworten.

RSS Feed abonnieren

Werde in Echtzeit über neue Foren-Beiträge informiert:



13 Mitglieder waren innerhalb der letzten 15 Minuten online (133 heute gesamt):
@Micha@, anickel, clint13, compac1981, dfg_espelkamp, IMS-Deluxe, Keksdame, masa8, romacron, skriptkiddie, tbruderer, wfuchs, YourRuin

Administratoren und Moderatoren:
[keine]

Seitenreport hat 18120 registrierte Mitglieder, 3002 Themen und 29106 Beiträge.
Der aktuelle Mitgliederzuwachs liegt bei durchschnittlich 12 bestätigten Neuregistrierungen pro Tag.
Pro Tag werden im Seitenreport Forum durchschnittlich 1 neues Thema und 8 Beiträge erstellt.
Die Durchschnittszahlen berechnen sich aus den letzten 7 Tagen.

Mehrfach empfohlen

Seitenreport ist einer der bekanntesten SEO und Website Analyse Dienste im deutschsprachigen Raum und wurde u.a. schon empfohlen:
von Mr. Wong im Wong Letter
vom Leserservice der Deutschen Post
vom Technik Blog SiN
und vielen anderen

Partnerprogramm

12% Lifetime Provision auf alle Buchungen von Dir geworbener Mitglieder sowie 0,50 € für jede Registrierung. Eines der besten deutschen Partnerprogramme laut den appCharts von 100partnerprogramme.de. Nimm jetzt teil am Seitenreport Partnerprogramm und verdiene gutes Geld dabei!

* = Partnerlinks