php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.02.2008, 16:22  
Neuer Benutzer
 
Registriert seit: 28.05.2006
Beiträge: 25
thron
Standard 2 Werte per Dropdown abfragen nur einen Wert schreiben

Hallo an alle,

habe mal wieder eine Fragen und benötige Eure Hilfe.

Also ich habe eine Tabelle in der es folgende Felder gibt:

-------------------------------------
| id | ort | Strasse | PLZ | Stadt|
-------------------------------------

Jetzt möchte ich, dass man über ein Dropdownfeld nach dem Ort suchen kann. Das klapp auch...

siehe schnipsel:

PHP-Code:
echo "<select size=\"1\" name=\"loc\" class=\"eingabetext\">";
$ergebnis mysql_query("SELECT ort FROM testadressen");
while (
$datensatz mysql_fetch_array($ergebnis))
{
echo 
"<option value=\"" $datensatz['ort'] . "\">";
echo 
$datensatz['ort'];
echo 
"</option>\n";
}
echo 
"</select>\n"
jetzt soll aber gleichzeitig auch die dazugehörige id des ausgewählten Ortes gespeichert werden, denn diese soll dann ach später in eine neue Tabelle geschrieben werden.
UNd da hänge ich auch schon!? wie stelle ich das an?

Denn den User nach der ID zu suchen lassen ergibt ja keinen sinn, der weiß ja gar nicht welcher Ort dahinterstecke. Aber zum weiterarbeiten brauche ich nur die id...

Hat jemmand eine Idee??

Gruß an alle und viele dank

P.S.: Ich wußte nicht ib das ins PHP oder in das MYSQL gehört brauche ja sowohl SQL Syntax als auch PHP.
thron ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.02.2008, 16:27  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Warum schreibst du die ID nicht einfach in den value Bereich? Den Text des Ortes hast du doch sowieso in der Datenbank, den brauchst du doch nicht nochmal irgendwo hin zu speichern
cycap ist offline   Mit Zitat antworten
Alt 18.02.2008, 17:15  
Neuer Benutzer
 
Registriert seit: 28.05.2006
Beiträge: 25
thron
Standard

okay super das hat geklappt. Funktioniert, ist ja im Nachhinein logisch.

Jetzt habe ich aber noch eine angrenzende Frage. Quasi selbes Spiel nur andere Tabelle

-------------------------------------
| id | name| username | eMail |
-------------------------------------

Wenn ich den namen per Dropdownfeld auswähle und es soll aber in eine Neue Tabelle der name und die dazugehörige id geschrieben werden.

Meine Überlegnung:
schnipsel:

PHP-Code:
<?php echo "<select size=\"1\" name=\"user\" class=\"eingabetext\">";
$ergebnis mysql_query("SELECT id, username FROM tesuser");
while (
$datensatz mysql_fetch_array($ergebnis))
{
echo 
"<option value=\"" $datensatz['username'] . "\">";
echo 
$datensatz['username'];
echo 
"</option>\n";
}
echo 
"</select>\n";
das wird dann bspw. an eine datei gesendet in der:

schnipsel:

PHP-Code:

$id
=$_POST['user[id]'];                             // <-- wo ich dann quasi hier auf das array                                                       
$username=$_POST['user[username]'];    // zugreife, nur ich weiß nicht wie!?

$sql "INSERT INTO `register` (`rdid`, `urname`) VALUES ('$id', '$username')"
or die("Einfügen fehlgeschlagen: " mysql_error());
mysql_query$sql ); 
gruß und danke für die erste Lösung....
thron ist offline   Mit Zitat antworten
Alt 18.02.2008, 19:09  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Na $_POST['user'] , wie im name Attribut des Selects definiert... ?!
nikosch ist offline   Mit Zitat antworten
Alt 18.02.2008, 19:17  
Neuer Benutzer
 
Registriert seit: 28.05.2006
Beiträge: 25
thron
Standard

Nein Nein!!

Ich habe es oben im Script korrigiert....!

Ich wähle mit select 2 Werte aus der DB aus und möchte beide Werte in eine andere Tabelle schreiben.
Der benutzer wählt über das Dropdownfeld eine Wert aus und schickt das formualar ab, dabei soll der dazugehörige Wert auch gewschrieben werden!

Wie oben beschrieben!!
thron ist offline   Mit Zitat antworten
Alt 18.02.2008, 20:03  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Da kann ich nur sagen: falsches DB Design! Eine ID abzuspeichern reicht vollkommen, weil Du über die ID und die Usertabelle ja an alle relevanten Daten herankommst. ID und Name zu speichern führt lediglich zu der Gefahr einer Dateninkonsistenz (bspw. wenn in der Usertabelle mal ein Name korrigiert wird)
nikosch ist offline   Mit Zitat antworten
Alt 18.02.2008, 20:09  
Neuer Benutzer
 
Registriert seit: 28.05.2006
Beiträge: 25
thron
Standard

ohh Gott....meine Nerven...

Ich habe nicht gefragt ob das ein falsche Design ist sondern wie ich das realisiere!!
Die DB ist nicht von mir sondern es handelt sich um eine Componente von Joomla die ich erweitern möchte!! Und da ist das nun mal so!
Aber Danke für deine Qualifizierte Aussage..
thron ist offline   Mit Zitat antworten
Alt 18.02.2008, 20:16  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo thron,
nikosch77 hat Recht. Was machst du, wenn sich ein Benutzer umbenennt? Dann musst du zweimal, vielleicht nochmehr Änderungen in der Datenbank durchführen. Das führt mit der Zeit zu Fehlern und daher speichert man bei "Verknüpfungen" (sogenannte Referenzen) auf andere Datensätze, nur deren Primärschlüssel ab.

Beispiel:
Code:
users
id | name
16 | Peter
85 | Franz

news
id | text | author
93 | Es war einmal | 85
94 | Damals | 85
(ich habe extra verschiedene IDs gewählt, damit du die Zusammenhänge klarer siehst - hier hat Franz beide News geschrieben).

Nun kannst du mit einer JOIN-Operation in einem SELECT gleichzeitig die News und den Namen (!) des Authors herausfinden:
Code:
SELECT news.*, users.name FROM news INNER JOIN users ON users.id = news.author
Zugegeben braucht man einige Zeit, um da reinzukommen, es gibt aber eine Menge guter Tutorials dazu. Stichwort Normalisierung und Joins. Es steht bei dir, ob du dich weiterentwickeln möchtest oder lieber deine Datenbank mit doppelten, schwer zu wartenden Daten vollstopfst. Bei letzterem musst du dich allerdings hauptsächlich selbst supporten (warum sollten wir dein fehlendes Engagement schließlich mit erhöhtem Support wieder wettmachen?)


Weiterhin musst du dir darüber klar werden, das einzig was im HTML-Formular drinnesteht, auch gesendet wird. Einfach so $_POST["user[username]"] raten wird dich nicht weiterführen. Benutze print_r($_POST), um dir anzuzeigen, was wirklich gesendet wurde (du siehst dann Schlüssel und Wert).
Zergling-new ist offline   Mit Zitat antworten
Alt 18.02.2008, 20:22  
Neuer Benutzer
 
Registriert seit: 28.05.2006
Beiträge: 25
thron
Standard

Ich weiß ich weiß!!! Ihr werdet es nicht glauben aber ich bin gelernter Informatiker habe nur Null Ahnung von PHP und MYSQL und will das lernen. Aber es geht hier um eine fertige Componente von Joomla die eine ergänzung braucht.

Und wenn der Prgrammierer eine fehler gemacht hat, ist das schön und gut! Aber ich habe nicht die Fähigkeit und auch nicht die Zeit dies zu ändern sondern möchte nur wissen mit welcher Syntax ich mein Obiges Problem lösen kann.
thron ist offline   Mit Zitat antworten
Alt 18.02.2008, 21:11  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zitat von Zergling
Beispiel:
Code:
users
id | name
16 | Peter
85 | Franz

news
id | text | author
93 | Es war einmal | 85
94 | Damals | 85
(ich habe extra verschiedene IDs gewählt, damit du die Zusammenhänge klarer siehst - hier hat Peter beide News geschrieben).
Aber noah, dä' Franz, der hat's g'schrieben

@thron
Wenn Du weißt, wie man einen String per Form überträgt und wie man einen SQL Requeststring mit einer Zeichenkette zusammenbaut, dann solltest Du es als gelerner Informatiker hinbekommen...
Genauso reicht eine übertragene ID um eine SQL Anfrage nach allen nötigen Personendaten abzusetzen.
.
nikosch ist offline   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
dropdown wert ausgewählt? nixahnung PHP Tipps 2008 4 29.02.2008 12:09
Formular Dropdown Werte anpassen themonk HTML, Usability und Barrierefreiheit 8 06.07.2006 14:38
wert aus liste abfragen HalliGalli Datenbanken 8 22.06.2006 13:28
Werte für Dropdown aus Tabelle einlesen PHP Tipps 2005-2 0 05.08.2005 12:35
Werte für Dropdown aus Tabelle einlesen PHP Tipps 2005-2 0 05.08.2005 12:28
Werte für Dropdown aus Tabelle einlesen PHP Tipps 2005-2 0 05.08.2005 12:24
Werte für Dropdown aus Tabelle einlesen PHP Tipps 2005-2 0 05.08.2005 12:21
Werte für Dropdown aus Tabelle einlesen PHP Tipps 2005-2 0 05.08.2005 12:21
Werte für Dropdown aus Tabelle einlesen PHP Tipps 2005-2 0 05.08.2005 12:20
Werte für Dropdown aus Tabelle einlesen PHP Tipps 2005-2 0 05.08.2005 12:19
Werte für Dropdown aus Tabelle einlesen PHP Tipps 2005-2 0 05.08.2005 12:17
Werte für Dropdown aus Tabelle einlesen PHP Tipps 2005-2 0 05.08.2005 12:16
Einzelnen Wert aus Datenbank abfragen Datenbanken 3 07.07.2005 22:10
Dropdown && Checkbox wert speichern? PHP Tipps 2005 2 27.02.2005 21:42
Wert eines Feldes abfragen und subtrahieren Datenbanken 4 04.07.2004 14:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
auswahlfeld wert ?, php formular mysql dropdown zwei werte, php dropdown 2 werte, dropdown abfragen, formular pulldown 2 werte, 2 dropdown in eine tabelle schreiben, joomla dropdown wert aus db selected setzen, dropdown wert in db schreiben, php text aus dropdown in db schreiben, zahl aus dropdown in tabelle schreiben schreiben aber nicht text, php mysql drop down wenn feld 1 das dann feld 2 das, dropdown feld aus 2 mysql spalten php, dropdown plz suche php, while ($datensatz = mysql_fetch_array( $orte )), mysql datenbankanfrage mit dropdown formular, php class=\\\eingabetext\\\, dropdown werte einmal, joomla datenbankabfrage select dropdown, php dropdown 2 spalten, php 2 spalten bei auswahlfeld

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:19 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.