Archiv verlassen und diese Seite im Standarddesign anzeigen : dropdown zeigt db Inhalt nicht an
rene.noob
21.06.2009, 00:35:51
Hi zusammen.
mein Dropdown zeigt mir den Inhalt der DB nicht an.
Da fehlt noch was oder?
das fetch "ding"??
hier mein bisheriges:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<p>
<?php
$connection=mysql_connect("schwarze-brut.de", "", "")
or die("Verbindungsversuch fehlgeschlagen");
mysql_select_db("support_cpe") or die("Auswahl der Datenbank fehlgeschlagen");
?>
</p>
<p> <strong>LED CHECKER </strong></p>
<form action="$sql = 'SELECT `cpe_tab` . cpe '" method="get" name="cpe">
<label><strong>cpe
</strong>
<select name="1" size="1" id="1">
</select>
</label>
</form>
</body>
</html>
der Dropdown wird hier inhaltlos angezeigt, connect zur DB funktioniert aber.
jetzt soll sich der Dropdown nur noch mit den daten einer tabellenspalte füllen und diese zur auswahl anbieten.
kann mir hier jemand hilfestellung bieten?
vt1816
21.06.2009, 09:52:55
[...]
kann mir hier jemand hilfestellung bieten?
War wohl schon ein wenig zu spät für Dich gestern!?
Das SQL-Statment hat da nicht zu suchen, wo Du es untergebracht hast.
Packe die ganze Sache vor Dein Formular. Also Abfrage und Ergebnisermittlung. Und im Formular (wenn es denn benötigt wird - dass kannst nur Du wissen) oder in jeder anderen beliebigen Ausgabe verarbeitest Du denn das Ergebnis (zum Beispiel als DropDown-Menü).
Wenn Du soweit bist und noch Hilfe benötigst - dann melde Dich hier wieder.
Bis dahin gibt es hier (http://www.selfphp.de/forum/announcement.php?f=12) unter Punkt D noch etwas Literatur, die Du Dir (dringend) auf jeden Fall mal anschauen solltest - dann klappt es auch zukünftig besser mit PHP/SQL etc.
rene.noob
21.06.2009, 13:22:33
Danke
ja die Zeit...
ich hock da jetzt schon einige zeit davor, für 2 Tage PHP Beschäftigung find ich hab ich autodidaktisch schon n bissel was geschafft.
kannst du mir mal ein Beispiel machen?
Und JA. der Dropdown SOLL das ergebnis anzeigen.
Aber ich verstehe deine Ausführung noch nicht ganz, liegt wohl daran, dass Du aus der MAterie kommst und ich mich erst seit ca 4 Tagen damit beschäftige...
ist es deshalb möglich mir dass mal an meinem Beispiel zu zeigen, damit ich es gleich von der Pike auf verstehe?
Ich muss nicht nur Deine Lektüre dringend lesen.
Ich lese aber gerade erst einmal ein Fachbuch von der Uni zum Thema Relationales Datenbankmodel... Is ja nicht ganz einfach nachzuvollziehen.
vt1816
21.06.2009, 14:17:07
[]
ist es deshalb möglich mir dass mal an [.]einem Beispiel zu zeigen, damit ich es gleich von der Pike auf verstehe?
<?php
$connection=mysql_connect("schwarze-brut.de", "", "") or die("Verbindungsversuch fehlgeschlagen");
mysql_select_db("support_cpe") or die("Auswahl der Datenbank fehlgeschlagen");
$sql = "SELECT * FROM table WHERE bedinung";
$ausgabe = mysql_query($sql) or die( mysql_error() );
if ($ausgabe != '') $num = mysql_numrows($ausgabe);
if ($num > 0)
{
... //DropDownListe einfügen
}
else
{
echo "Deine Fehlermeldung";
}
Dropdownlisten werden mit dem HTML-Elementen <select> und <option> erzeugt. Wenn das Attribut multiple="multiple" verwendet wird sollte der Name der Dropbox auf [] enden, damit für alle gewählten Listeneinträge entsprechend ein Arrayelement erzeugt wird.
<form action="script.php" method="post">
<fieldset>
<legend>Formular für Foobar</legend>
<label>Name: <select name="Benutzername">
<option value="1">Blabli</option>
<option value="4">Testuser</option>
</select></label>
<label>Rechte: <select name="Rechte[]" multiple="multiple" size="5">
<option value="1">News</option>
<option value="2">Forum</option>
<option value="3">Gästebuch</option>
</select></label>
<input type="submit" name="formaction" value="Abschicken" />
</fieldset>
</form>
Wenn in dem Formular der Benutzer Blabli und die Rechte News und Gästebuch ausgewählt werden so werden im PHP-Skript folgende Arrayelemente erzeugt.
<?php
$_POST['Benutzername'] = "1";
$_POST['Rechte'][] = "1"; // also $_POST['Rechte'][0] = "1"
$_POST['Rechte'][] = "3"; // also $_POST['Rechte'][1] = "3"
$_POST['formaction'] = "Abschicken";?>
rene.noob
21.06.2009, 14:55:14
Wirkt auf mich alles zu massiv.
Ich wollte jetzt nicht hundert Auswahlen und Anzeigen und Möglichkeiten.
Ich arbeite mit Dreamweaver.
Ich erstelle dort eine Verbindung zur DB
anschliessend füge ich ein Formularfeld ein
den rest vom Aufbau macht dreamweaver
der Dropdown wird nicht angezeigt, wenn ich es auf deine Art einbinde.
Was ich möchte ist:
ich habe eine ganz sinmple Liste mit einigen Modems.
Diese sollen einfach per Dropdown auswählbar sein.
Alles weitere kommt noch viel später und ist hier auch nicht von Nöten.
Bei mir erzeugt DW alles so wie im Post oben, da fehlte aber sicher auch die abfrage und die Rückgabe.
Da das Formular den Teil "action" hat, nahm ich an, dass hier die Abfrage reinkommt.
DB connect
und dann ein schnödes Formular, dass aus der conecteten DB etwas ausliest und mir anzeigt.
Muss das auslesen vielleicht auch mit in die formular "action"?
feuervogel
21.06.2009, 16:55:06
wenn es hier nur um eine ganze simple liste geht, wieso muss die dann in der datenbank stehen? und wieso fängst du gleich an dich mit dem relationalen datenbankmodell auseinanderzusetzen, bevor du nicht mal ansatzweise verstanden hast, wie man formulare mit php verarbeitet?
p.s.: bitte lies dir die vorgeschlagenen tutorials und faq durch, es hat niemand lust dir hier alles von vorne zu erklären...
vt1816
21.06.2009, 17:01:27
[...]
und dann ein schnödes Formular, dass aus der conecteten DB etwas ausliest und mir anzeigt.
Muss das auslesen vielleicht auch mit in die formular "action"?
Nein (siehe oben)!
rene.noob
21.06.2009, 23:16:20
Die Frage nach dem Warum...
will ich Dir gern beantworten.
Ich bin Trainer für den Support eines DSL Anbieters.
Was ich entwickeln möchte, ist eine DB die mittels PHP Supporthilfe geben kann.
Deshalb fing ich an mir Gedanken über die Struktur dieser DB zu machen und befand nach Recherchen das ER Model als das für diese Anforderung passende Schema.
In der DB sind natürlich auch andere Table mit weiteren Informationen.
Damit ich aber auch verstehe, wie nun in meinem Beispiel oben eine Liste an Modems in einem Dropdown zur Verfügung gestellt wird, habe ich begonnen, mich da mittels Inet, Unibibliothek und viel Zeit ranzuwagen. Irgendwo muss man ja anfangen.
In den Beispielen in meinen anderen Recherchen war es auch nicht so komplex dargestellt, wie in deinem.
Ich MUSS nicht innerhalb von 2 Tagen php begriffen haben um in diesem Forum eine solche Frage zu posten, dachte ich.
Da ich nicht den zweiten Schritt vorm ersten machen will (von der Abfrage auch Beziehungen und Sonderfunktionen zu erwarten) möchte ich halt jetzt einfach nur begreifen, wie ich mittels meines Editors DW nach dem DB Connect weiter vorgehe.
Für mich war es bisher erstmal ein Erfolg gelernt zu haben, dass die DB erst connected werden muss, damit man ÜBERHAUPT etwas abfragen kann.
Jetzt will ich lernen, ein Dopdown anzeigen zu lassen, was den bestimmten Inhalt einer Tabellenspalte anzeigt.
Danach soll diese mit Hilfe der relations auch die Abfrage noch weitere Dinge tun und auch noch weitere komplexere Abfragen werden notwendig, ABER=> JETZT geht es mir ganz simpel nur darum dei Modems aus meiner Tab im Dropdown zur Auswahl anzubieten.
Wie ich vorgegangen bin habe ich gepostet.
bei Deiner Ausführung erhalte ich eine blanke Seite auf meinem Server (kein Testserver, der ist richtig online)
Ist es möglich mir nochmals mittels simplen db connect darzustellen, wie ich anschliessend den Dropdown dazu bringe sich mit DB Inhalt zu füllen?
Zur Info:
Dreamwaever erzeugt fast das meiste selbst
und auch phpmyadmin hat einen Abfrageeditor, der mir genau den richtigen sql/php Code für Abfragen erzeugt.
Ich komm damit aber nicht weiter. Wofür hat das Formtag denn diese action"" klassifizierung?
<form action="" (=>wird von DW so ausgegeben. Ich habe ein Formularfeld wie vorgeschrieben in den tutorials erzeugt und dort dann die liste eingefügt.
Der Code sieht dann so aus:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<form action="" method="get">
<select name="CPE">
</select>
</form>
</body>
</html>
die Ergänzungen dazu sollen dann hier drumherum gebaut werden nehme ich an, denn ein Formularfeld aus DW in den PHP Bereich unterzubringen funktionierte nicht, der Dropdown wurde nicht mehr angezeigt....
rene.noob
21.06.2009, 23:31:24
</head>
:::SO WÜRDE ICH VORGEHEN:::
<body>
<?php
:::HIER DER EINFACHE DB CONNECT::::
:::HIER DIE AUSWAHL MEINER DB::::
::::würde ich hier ein Formularfeld mittels DW einfügen, so würde es nicht mehr angezeigt werden::::
?>
:::dieses Formular wird angezeigt, auch nach meinem connect zur DB:::::
:::Aber der Dropdown bleibt logisch leer, weil die Abfrage und die Ausgabe fehlt::::
::hier der vom Abfrageeditor aus phpmyadmin erzeugte Code:::
$sql = 'SELECT `cpe_tab` . `cpe` '
. ' FROM `cpe_tab` '
. ' ORDER BY `cpe_tab` . `cpe` ASC LIMIT 0, 30 ';
:::wo kommt dieser jetzt genau hin? Oben in den roten php sektor?:::
:::oder in form action:::
:::und wo ist gesagt=>zeig das im Dropdown an:::
<form action="" method="get">
<select name="CPE">
</select>
</form>
</body>
</html>
urvater
21.06.2009, 23:57:53
Also vt hat dir doch schon sogut wie alles aufgezeichnet.<?php
$connection=mysql_connect("schwarze-brut.de", "", "") or die("Verbindungsversuch fehlgeschlagen");
mysql_select_db("support_cpe") or die("Auswahl der Datenbank fehlgeschlagen");
$sql = "SELECT * FROM table WHERE bedinung"; //Eine Abfrage, was überhaupt aus der BD geholt werden soll festlegen.
$ausgabe = mysql_query($sql) or die( mysql_error() ); Diese Abfrage dann auch ausführen und vor die Ausgabe in einem Array oder sonstigen Variable zwischen speichern.
if ($ausgabe != '') $num = mysql_numrows($ausgabe);
if ($num > 0)
{
... //DropDownListe einfügen
// als Echo oder print würde auch was angezeigt werden. Oder php und html trennen
}
else
{
echo "Deine Fehlermeldung";
}?>
Neben dem Beschäftigen mit der Art eines Datenbankmodels sollte man sovor besser wohl erst einmal die Grundlagen erlernen. Dafür sind Testdatenbanken doch gut. Ohne Abfrage kein Ergebnis. Ohne Ergebnis keine Anzeige etc.
Für die Grundlage eines Formulars empfehle ich dir http://de.selfhtml.org/html/formulare/index.htm
rene.noob
22.06.2009, 00:58:25
danke dir.
aber warum grenzt zum Beispiel Dreamweaver dieses formular aus?
Was bedeutet html und php trennen? das formular setzt doch auf html auf, oder?
Das würde bedeuten wir sind wieder da wo ich beim Post war. Nach ausgelagertem Formular aus der php funktion ging es ja nicht weiter.
Ich mach das in meiner Freizeit um meinen Kollegen das Leben zu vereinfachen, daher DB Bau, lesen und PHP Grundlagen in einem AUfwasch.
Ihr kennt dass, manchmal hat man da keine Wahl...
muss halt auch voran gehen.
morgen werd ich das nochmal so eintackern, wäre aber cool wenn ich mal vielleicht ein Bezug zum Ablauf über DW bekomme, aber dazu ist das Forum sicher nicht ganz richtig gewählt...
vielen Dank bis hier soweit, morgen gibts n Feedback.
feuervogel
22.06.2009, 11:10:13
Ich komm damit aber nicht weiter. Wofür hat das Formtag denn diese action"" klassifizierung?
<form action="" (=>wird von DW so ausgegeben. Ich habe ein Formularfeld wie vorgeschrieben in den tutorials erzeugt und dort dann die liste eingefügt.
Wie schon weiter oben erwähnt, lies dir bitte die schon bestehenden, sehr guten Tutorials durch, z.B. das hier:
http://tut.php-q.net/de/post.html
Natürlich kannst du hier Fragen stellen, wenn du dich erst seit zwei Tagen mit PHP beschäftigst. Aber wenn du erst seit zwei Tagen rumrätst, wie das alles funktionieren soll in deinen Vorstellungen, dann ist das wenig strukturiert und nimmt mir persönlich zumindest ein wenig die Lust.
festus
27.06.2009, 12:49:55
Ich mach das in meiner Freizeit um meinen Kollegen das Leben zu vereinfachen, daher DB Bau, lesen und PHP Grundlagen in einem AUfwasch.
Ihr kennt dass, manchmal hat man da keine Wahl...
muss halt auch voran gehen.
Hm, finde ich persönlich den falschen Weg. Alles auf einmal lernen zu wollen ergibt meist Chaos- in deinem Script und in Deinem Kopf...
Besser wäre, wenn Du zuerst einmal lernst Deine Formulare richtig zu verarbeiten,
dann irgendwas in Richtung Datenbank bastelst, das darin zu speichern beginnst und dabei dann die Struktur und den Aufbau den Erfordernissen anpaßt.
Auch wenn Dein PHP Code in HTML-Dateien sein kann / darf ist es immer besser erst PHP-seitig alles zu verarbeiten und dann die Ergebnisse dem User auf den Schirm zu schicken.
Also alles zu strukturieren. Das hilft Dir, hält Deinen Code übersichtlich und hilft anderen, wenn sie Dir helfen sollen Fehler zu finden.
Man hat immer eine Wahl. Nur wer sich selbst keine Alternativen schafft hat keine ;-)
vBulletin® v3.8.3, Copyright ©2000-2024, Jelsoft Enterprises Ltd.