CommNews Forum Home  

Zurück   CnC Foren > Verschiedenes > Tech-Support / Tech-Talk

Antworten
 
Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 19-03-2004, 11:33
Benutzerbild von Sven
Sven Sven ist offline
Tech-Admin

 
Registriert seit: Dec 2000
Ort: Neuss
Beiträge: 37.844
Sven ist ein C...
OL Nick: xysvenxy
Style: cncboard
Question php/MySQL Experten: Wie verarbeite ich die Daten weiter?

Ich hab folgendes kleines Script mit dem ich Daten aus einer MySQL Tabelle in ein Dropdown einlesen lasse:
PHP-Code:
<?include("data.php");
$con_dat=@MYSQL_CONNECT($MySQL_Host, $MySQL_User, $MySQL_Passw);
mysql_select_db($db,$con_dat);
$query = "SELECT * FROM getraenke ORDER BY kategorie";
$result = mysql_query($query);
$number = mysql_numrows($result);
print "Kategoriewahl:<p>    
<form action=\"kat_test.php\" method=\"post\">
<select name=\"ID1\"><option value=\"\">Wähle eine Kategorie</option>";
for ($i=0; $i<$number; $i++) {     
$ID = mysql_result($result,$i,"PRIMARY");     
$bez = mysql_result($result,$i,"bezeichnung");     
$txt = mysql_result($result,$i,"text");     
$preis = mysql_result($result,$i,"preis");     
$kat = mysql_result($result,$i,"kategorie");     
print "<option value=\"ID1\">$kat: $bez | $txt | $preis</option>";
}
print "</select><input type=\"submit\" value=\"Absenden\" name=\"submit\">
</form>";mysql_close();
?>
So weit so gut.
Nuir bin ich leider absolut planlos wie ich herausfinde was der Anwender ausgewählt hat und wie ich diese Daten weiterverwenden kann....

Ok, ich bin in der Hinsicht der Volln00b
__________________
Zitat:
Wir sind im Augenblick dabei, zu prüfen, ob es im öffentlichen Interesse liegt, ihnen mitzuteilen, ob wir die Informationen haben, die Sie erbitten, und ob es, sollte das der Fall sein, im öffentlichen Interesse liegt, Ihnen diese Informationen zur Verfügung zu stellen.
Mit Zitat antworten
  #2  
Alt 19-03-2004, 13:37
Benutzerbild von almhirte
almhirte almhirte ist offline
Visceroid

 
Registriert seit: Aug 2001
Beiträge: 281
almhirte hat noch keine Bewertung oder ist auf 0
Style: vBulletin Default
Also ich denke das da in deinem script bereits ein kleiner Fehler ist.

Das select element hast du ID1 genannt. Über diesen Namen kannst du es dann später als Variable benutzen.

Die option elemente haben als value das was $ID enthält.
Da ist n kleiner Fehler bei dir.
Bei dir steht:
PHP-Code:
print "<option value=\"ID1\">$kat$bez | $txt | $preis</option>"
Es müsste glaub ich etwa so aussehen:
PHP-Code:
echo '<option value="'.$ID.'">'.$kat.': '.$bez.' | '.$txt.' | '.$preis.'</option>'
Dann kriegt jede option einen eindeutigen Wert zugewiesen. Nämlich die ID die bei dir glaub ich der primary key ist. Dieser ist später das was der user ausgewählt hat.
In deiner formular-ziel datei (kat_test.php) kannst du dann etwa so damit umgehen
PHP-Code:
if (isset($ID1))//ID1 ist die gesamte combobox (dropdown)
{
     
//der wert von ID1 ist dann das 
     //was bei dem jeweiligen option als value eingetragen wurde.
     //du musst dir also dein internes mapping für
     //die einzelnen optionen merken


Ich hoffe das ist irgendwie verständlich

Geändert von almhirte (19-03-2004 um 13:40 Uhr).
Mit Zitat antworten
  #3  
Alt 19-03-2004, 13:40
Benutzerbild von Sven
Sven Sven ist offline
Tech-Admin

 
Registriert seit: Dec 2000
Ort: Neuss
Beiträge: 37.844
Sven ist ein C...
OL Nick: xysvenxy
Style: cncboard
Jupp, werd ich heute Abend ausprobieren schonmal
__________________
Zitat:
Wir sind im Augenblick dabei, zu prüfen, ob es im öffentlichen Interesse liegt, ihnen mitzuteilen, ob wir die Informationen haben, die Sie erbitten, und ob es, sollte das der Fall sein, im öffentlichen Interesse liegt, Ihnen diese Informationen zur Verfügung zu stellen.
Mit Zitat antworten
  #4  
Alt 19-03-2004, 14:03
Benutzerbild von se7en
se7en se7en ist offline
Clan Moderator

 
Registriert seit: Jul 2001
Ort: Schwalmstadt
Beiträge: 2.338
se7en hat noch keine Bewertung oder ist auf 0
se7en eine Nachricht über ICQ schicken
OL Nick: se7en
Style: GLA
endlich mal ne Frage für mich und da ist sie schon beantwortet

Aber ok, eins hab ich noch. Es kann sein, das die Methode nicht funktioniert, d.h. Du die Variable $ID ohne Wert ist. Das hängt dann mit der Option "Register Globals" zusammen (ist ne Einstellung der PHP installation auf dem PHP-Server/Rechner). Dann musst Du $_POST["ID"] verwenden um an den Wert der Variable zu kommen (_POST für die method POST, _GET für method get).

und noch was:
PHP-Code:
 echo "HTML-Text $Variable und dann noch mehr Text"
funktioniert auch
__________________
2nd Clanleader and Webmaster of

Mit Zitat antworten
  #5  
Alt 19-03-2004, 14:08
Benutzerbild von Sven
Sven Sven ist offline
Tech-Admin

 
Registriert seit: Dec 2000
Ort: Neuss
Beiträge: 37.844
Sven ist ein C...
OL Nick: xysvenxy
Style: cncboard
Wie ich das nachher umstricke etc. ist erstmal unwichtig.
Stehen hab ich ein Formular zur Dateneingabe, ein Script zum Auslesen und eben dieses Dropdown.
Ziel ist es über das Dropdown einen Datensatz gezielt anzuwählen um ihn dann in einem weiteren Formular editieren zu können.
Damit wären meine Ansprüche an mein erstes Superminiwinzig php/MySQL Projektchen auch schon erfüllt
__________________
Zitat:
Wir sind im Augenblick dabei, zu prüfen, ob es im öffentlichen Interesse liegt, ihnen mitzuteilen, ob wir die Informationen haben, die Sie erbitten, und ob es, sollte das der Fall sein, im öffentlichen Interesse liegt, Ihnen diese Informationen zur Verfügung zu stellen.
Mit Zitat antworten
  #6  
Alt 19-03-2004, 14:13
Benutzerbild von se7en
se7en se7en ist offline
Clan Moderator

 
Registriert seit: Jul 2001
Ort: Schwalmstadt
Beiträge: 2.338
se7en hat noch keine Bewertung oder ist auf 0
se7en eine Nachricht über ICQ schicken
OL Nick: se7en
Style: GLA
ein anderer Vorschlag zur For-Schleife:
PHP-Code:
 $query mysql_query("SELECT * FROM Tabelle");
while (
$row mysql_fetch_row($query))
  {
  echo 
"Spalte1" $row[0] . "\n";
  echo 
"Spalte2" $row[1] . "\n";
  ...
  } 

(Wenn Du die Spaltennamen angeben möchtest, ist zu empfehlen wenn später mal die Scripte geändern müssen!):
PHP-Code:
 $query mysql_query("SELECT * FROM Tabelle");
while (
$row mysql_fetch_array($sqlMYSQL_ASSOC))
  {
  echo 
"Spaltenname1" $row["Spaltenname1"] . "\n";
  echo 
"Spaltenname2" $row["Spaltenname2"] . "\n";
  ...
  } 
__________________
2nd Clanleader and Webmaster of

Mit Zitat antworten
  #7  
Alt 19-03-2004, 14:39
Benutzerbild von Sven
Sven Sven ist offline
Tech-Admin

 
Registriert seit: Dec 2000
Ort: Neuss
Beiträge: 37.844
Sven ist ein C...
OL Nick: xysvenxy
Style: cncboard
Ich lerne gerne was dazu
__________________
Zitat:
Wir sind im Augenblick dabei, zu prüfen, ob es im öffentlichen Interesse liegt, ihnen mitzuteilen, ob wir die Informationen haben, die Sie erbitten, und ob es, sollte das der Fall sein, im öffentlichen Interesse liegt, Ihnen diese Informationen zur Verfügung zu stellen.
Mit Zitat antworten
  #8  
Alt 19-03-2004, 15:06
Benutzerbild von almhirte
almhirte almhirte ist offline
Visceroid

 
Registriert seit: Aug 2001
Beiträge: 281
almhirte hat noch keine Bewertung oder ist auf 0
Style: vBulletin Default
Zitat:
Zitat von se7en
und noch was:
PHP-Code:
 echo "HTML-Text $Variable und dann noch mehr Text"
funktioniert auch
Das ist wohl wahr. Aber bei:
PHP-Code:
 echo "HTML-Text ".$Variable." und dann noch mehr Text"
Sieht man die verwendeten Variablen sofort. Mir ist schon öfter passiert das ich sonst mal eine übersehe wenn so'n String länger wird.
Mit Zitat antworten
  #9  
Alt 19-03-2004, 17:18
Benutzerbild von CaptureX
CaptureX CaptureX ist offline
Cabal

 
Registriert seit: May 2002
Ort: sAArlanD
Beiträge: 2.370
CaptureX hat noch keine Bewertung oder ist auf 0
CaptureX eine Nachricht über MSN schicken
OL Nick: inaktiv
Zitat:
Zitat von se7en
Es kann sein, das die Methode nicht funktioniert, d.h. Du die Variable $ID ohne Wert ist. Das hängt dann mit der Option "Register Globals" zusammen (ist ne Einstellung der PHP installation auf dem PHP-Server/Rechner).
Sollte dies so sein...kannst du aber mal in der php.ini (ich glaube im Windows-Ordner) "Register Globals" auf ON setzen.

PHP-Code:
You should do your best to write your scripts so that they do not require
register_globals to be on;  Using form variables as globals can easily lead
to possible security problems, if the code is not very well thought of.
register_globals On 

__________________
Mit Zitat antworten
  #10  
Alt 19-03-2004, 20:33
Benutzerbild von EEBKiller
EEBKiller EEBKiller ist offline
Moderator

 
Registriert seit: May 2002
Ort: Irgendwo in Bayern
Beiträge: 8.989
EEBKiller hat noch keine Bewertung oder ist auf 0
OL Nick: EEBKiller
wer proggt heute noch basierend auf register_globals = on ??? :o:
__________________

Raubkopierer, IT-Experten und E-Gamer in den Knast !!!
Kinderschänder, Sexualstraftäter, Bankräuber und Mörder in die Gesellschaft reintegrieren,
wir brauchen Platz für Computer-Kriminelle in den Gefängnissen !!!

Geändert von EEBKiller (19-03-2004 um 20:36 Uhr).
Mit Zitat antworten
Antworten

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:54 Uhr.


Powered by vBulletin Version 3.7.3 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template-Modifikationen durch TMS

Affiliates
United Forum GetBoinKeD cnc.onlinewelten.de