[php+mysql] Feldern Werte Zuweisen irgendwie krieg ichs nicht raus..
#1
geschrieben 21. Juni 2006 - 20:03
also ich muss für info ein php "programm" schreiben. Eigentlich ist das nicht allzu anspruchsvoll und durch das meiste beiß ich mich so durch. eine sache kapier ich jetzt allerdings nicht:
ich habe 2 Textfelder und 1 Textbereich (also ein großes Textfeld mit ner rollleiste)
so, Textfeld 1 ist zum eingeben einer aufgabennr, textfeld2 ist für die eingabe einer kursnr und das große Textfeld soll viel Text enthalten, alle 3 sollen in die richtige spalten in einer sql datenbank eingefügt werden.
aber wie verklicker ich jetzt diesem php dokument, dass in dem textfeld 1 die daten stehen für die tabellenspalte "aufgabennr", in textfeld2 die spalte "kursnr" und im dritten "aufgaben" eingegeben werden?
eine verbindung zur datenbank kann ich herstellen.
und weiterhin.. wie weiße ich dem "absenden" button die funktion zu,dass mit einem klick darauf die daten in die sql datenbank eingefügt werden?
im anhang hab ich mal die betroffene html datei drin. der code ist noch sehr unfein mit den ganzen   ausdrücken. das liegt am primären erstellen mit frontpage2003. den kram mit php versuche ich über dreamweaver8.
wäre nett, wenn mir einer helfen könnte.
vielen dank schonmal im vorraus =)
Anzeige
#2
geschrieben 21. Juni 2006 - 20:27
<?php include 'include/cfg.php'; my_sql_query("INSERT INTO Aufgaben VALUES ('AufgabenNr','KursNr','Aufgabe') ?>
1.vlt hier erstmal den string zumachen mit einem "
2. seit wann gibt es die funktion my_sql_query() ...habe ihc was verpasst? ...ich glaub du meinst hier mysql_query()
3. jeder "abschnitt" muss mit einem ; geschlossen werden (außnahmen sind z.B. schleifen)
4. verstehe ich nicht,was was der query da soll? du hast ja garkeine tabellenfelder angegeben.
und vorallem: woher werden denn die werte genommen? du musst da schon die variablen $_POST['feldname'] oder $_GET['feldname'] verwenden,wobei für dein vorhaben warscheinlcih post das richtige ist
5. hast du garkein formular erstellt.
sollte fürs erste reichen - hoffe ich. bereinige erstmal diese sachen, dann sehen wir weiter:-)
erklährt euer info-lehrer das nicht? aber wenn du mal vorarbeiten willst: http://tut.php-q.net/
Dieser Beitrag wurde von Meatwad bearbeitet: 21. Juni 2006 - 20:30
#3
geschrieben 21. Juni 2006 - 21:53
ach,dann haben diese gestrichelten linie doch einen sinn.. d.h. dass die 3 felder in ein formular müssen? und in dieses formular kommt dann der entsprechende part von php?
meine basis ist ein buch aus der schulbibliothek. anhand dessen beispiel versuch ich das auf mein problem anzuwenden. das problem dabei is halt, dass in diesem schulbuch ("Datenbankprogrammierung mit MySQL5 und PHP5" von Helma Spona unter dem Label 'einsteigerseminar') das ziemlich hard beschrieben ist ohne wirkliche Erklärungen. und unser info lehrer is schon hilflos überfordert, wenn er allein vor dem pc sitzt, den kann man auch nicht wirklich fragen =)
was ich grade gesehen habe ist sowas:
<form action="formtest.php" method="post">
d.h. dass die abwicklung von diesem post in einem externen dokument geschieht. da dies scheinbar "normal" bei php sachen ist (google zufolge), müsste ich das dann auch so umsetzen..
so letzte ergänzung für heute nacht ^^ habe jetzt den ganzen geänderten kram hochgeladen. die übergabe an die post.php scheint geklappt zu haben, zumindest lädt er die post.php, die ist jetzt natürlich noch leer. in der index.html habe ich die $_POST Arrays mit den Textfeldern definiert, wie ich sie in einem Beispiel im internet gefunden habe. kann ich diese $_POST jetzt einfach in die post.php einsetzen und dem verklickern, dass er die Werte in die SQL Datenbank tippern soll? Oder rafft der dann nicht, dass das das selbe ist? Ich probiers jetzt net mehr, is schon spät ^^ Also falls das bis morgen mittag irgendjemand liest.. nur zu mit den Antworten ^^
Dieser Beitrag wurde von He4db4nger bearbeitet: 22. Juni 2006 - 01:00
#4
geschrieben 22. Juni 2006 - 14:12
wo ist denn nun deine neue datei?
#5
geschrieben 22. Juni 2006 - 17:03
so, jetzt hab ich noch ein problem..
in der datei index.php, die gleich noch angehängt wird, hab ich 2 dropdown menüs. jetzt hab ich zwar verschiedene anleitungen gefunden, wie man in diese dropdown listen sql werte einfügen kann, nur klappt das irgendwie nicht.. der füllt die dropdowns nicht.. irgendwie komisch...
Dieser Beitrag wurde von He4db4nger bearbeitet: 22. Juni 2006 - 19:02
#6
geschrieben 22. Juni 2006 - 20:45
<?php $_POST['text1']; // Kursnummer $_POST['text2']; // Aufgabennummer $_POST['text3']; // Aufgabentext ?>
in der admin.htm zu tun? und vor allem dürfte das bei Standardkonfiguration garnicht geparsed werden, da die endung .htm ist
und hier verstehe ich wieder nicht, was diese zeilen in der admin.php zu tun haben...
<?php $_POST['antwort']; $_POST['D2']; $_POST['D1']; ?>
mysql_connect($dbhost, $dbuname, $dbpass, $dbname); $kurs = mysql_query("SELECT KursNr, KursBez FROM Kurs"); $adr = mysql_fetch_array($Kurs);
soweit ich weiß, ist der 4. parameter nicht die datenbank. dazu musst du die funktion mysql_select_db() verwenden. und groß-/kleinschreibung bei den variablen beachten
außerdem wird hier nix ausgegeben, da kannst du dann natürlich kein select-feld drum machen. hier währe ne for- oder whileschleife angebracht
#7
geschrieben 22. Juni 2006 - 20:50
neues problem:
nach der Auswahl der 2 entsprechenden Menüs (beide sind in einem Formular zusammengebunden)soll man auf den Button "Absenden" klicken und dann seine entsprechende Aufgabe erhalten. Es gibt auch die Möglichkeit, direkt nach Auswahl im Dropdownmenü das Formular abzusenden und das 2te Menü erscheint dann in Abhängigkeit vom ersten. Mangels meiner kaum vorhandenen PHP-Kenntnisse erscheint mir jedoch Variante 1 als "einfacher".
Die 2 oberen Menüs habe ich jetzt in ein Formular gepackt und noch einen Absenden button hinzugefügt..
Dieser Beitrag wurde von He4db4nger bearbeitet: 23. Juni 2006 - 13:27
#8
geschrieben 23. Juni 2006 - 23:06
#9
geschrieben 26. Juni 2006 - 15:39
include 'cfg.php';
import_request_variables ("gp","frm_");
mysql_connect($dbhost, $dbuname, $dbpass) or die ("Unable to connect to database. Err.: ".mysql_error());
mysql_select_db($dbname) or die ("Unable to select database. Err.: ".mysql_error());
$abfrage="SELECT Name FROM Aufgaben WHERE Name LIKE ('$frm_search')";
$sql=mysql_query($abfrage);
while ($row=mysql_fetch_array($sql))
{
echo $row;
}
warum kommt bei dem schnippsel in der ausgabe nur "array" und nicht die namen? aaaaahh...ich dreh bald durch
Dieser Beitrag wurde von He4db4nger bearbeitet: 26. Juni 2006 - 17:30
#10
geschrieben 26. Juni 2006 - 19:55
Zitat
da kommt nur array, weils ein array ist. nimm print_r($row); anstatt echo.
zu deinen auswahlfeldern:
so wie ich das verstanden habe, muss einmal der kurs und dann die aufgabennummer angegeben werden. und daraus folgt dann,was im 2. formular steht, nichtwar?
wenn ja, dann mach das doch einfach auf 2 seiten. wenn man beim 1. absenden klickt, öffnet sich die 2. seite und dann ist dort das 2. formular
#11
geschrieben 27. Juni 2006 - 15:48
und wie sag ich dem,dass er beim laden die auswahl aus formular1 berücksichtigen soll?
die auswahl in den dropdowns.. ich find das nirgends, das geht auch weit über das in meinem buch hinaus..^^
wenn ich print_r einsetze kommt zB sowas raus:
Array ( [Name] => klaus )
//ok,das habe ich jetzt verstanden. das mit den vielen klammern stört zwar, aber is vorerst mal kosmetik.
Dieser Beitrag wurde von He4db4nger bearbeitet: 27. Juni 2006 - 15:58
#12
geschrieben 27. Juni 2006 - 16:13
und das mit der ausgabe eines arrays machst du am besten mit ner foreach-schleife. das print_r() bzw var_dump() ist mehr fürs debugging gedacht
#13
geschrieben 27. Juni 2006 - 17:53
$abfrage2="SELECT Name FROM Aufgaben ORDER BY Name";
$sql2=mysql_query($abfrage2);
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
$arr=array($sql2);
foreach ($arr as $test)
{
print ($test);
}
allerdings erhalte ich da nur als ausgabe "ressource id#5".. was auch immer das heißen mag :/
#14
geschrieben 28. Juni 2006 - 17:36
#15
geschrieben 03. Juli 2006 - 17:00
nächste frage
for($i=0; $i<mysql_num_rows($sql2); $i++)
{
$Result=mysql_fetch_object($sql2);
echo"<tr>",
"<td>",
$Result->Name,
"</tr>";
}
wie krieg ich es in diesem code hin,dass er mir die Ergebnisse in der nächsten zeile rauswürgt? bis jetzt da nur "klausjoachimhans" er soll aber
klaus
joachim
hans
ausgeben. irgendwie find ich dazu nix..und in meinem tollen schulbuch sowieso nicht ^^
- ← Datei Erstellen - Aber Wen Es Schon Vorhanden Ist ...
- Skript/Web-Programmierung
- Aktiver Menüpunkt Soll Andersfarbig Dargestellt Werden →