|
| Autor |
Nachricht |
gruenschnabel Stammuser [User]

Anmeldung: 05.10.04 Beiträge: 32
|
Verfasst am: 05.10.2004, 05:11 Titel: Php Mysql |
|
|
Hey!
Ich habe ein Problem! Soll als Hausaufgabe ein Php Skript schreiben, das daten in eine Mysql Datenbank schreibt.
Hab mehrere Felder. Die Tabelle für MySql ist erstellt. Dann hab ich eine Verbindung mit der Datenbank per Sql hergestellt.
Aber wie mache ich das mit den Felder die gespeichert werden sollen und den Variablen und und und?!
Kann mal hier einer ein Beispiel posten? Oder weiss jemand eine gute Quelle wo man das nachlesen kann? Thx
|
|
| Nach oben |
|
 |
Andreas Schroth Bekannter [Admin]


Anmeldung: 08.04.04 Beiträge: 1666 Wohnort: Lauf a. d. ...
|
Verfasst am: 05.10.2004, 05:48 Titel: |
|
|
also wenn eine MySQL-Tabelle (namens sagen wir Mal "test") hergestellt ist, und eine Verbindung zur MySQL-Datenbank besteht, dann ist hier ein Beispiel dafür:
| Code: | | mysql_query ("INSERT INTO 'test' ('feld1', 'feld2') VALUES ('$feld1', '$feld2')"); |
Natürlich müssen die Felder in der "test"-Tabelle dann auch wirklich "feld1" und "feld2" heißen - und der Inhalt, der eingefügt werden soll, in den Variablen $feld1 und $feld2. _________________
Computer-tipps.net / Forumprofi.de
Hier sind die Foren-Regeln zu finden.
|
|
| Nach oben |
|
 |
gruenschnabel Stammuser [User]

Anmeldung: 05.10.04 Beiträge: 32
|
Verfasst am: 05.10.2004, 07:48 Titel: |
|
|
Ok, ich denke das hab ich, funktioniert aber leider nicht.
Da muss doch irgendwie eine Verbindung zwischen dem sql Befehl und dem "submit" Button hergestellt werden. Also mit dem form Tag, oder?
Was muss ich da beachten?
|
|
| Nach oben |
|
 |
jimmy Helfer [User]


Anmeldung: 26.08.04 Beiträge: 128 Wohnort: Berlin
|
Verfasst am: 05.10.2004, 08:34 Titel: |
|
|
Hi,
dafür brauchst du einen Formular.
Ich kann dir einen Beispiel schreiben, aber deine DB Connection muss du selber integrieren.
| Code: | <?PHP
//Formular Beispiel
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Formular Beispiel</title>
</head>
<body>
<?PHP
if($_POST['send'] == "send") {
//Hier steht deine MySQL Connection
//Daten in DB speichern
$result = mysql_query("INSERT INTO deine_table (variable1, variable2) VALUES ('".$_POST['variable1']."', '".$_POST['variable1'].")");
if($result) echo "<h3>Erfolg, Daten sind in Datenbank!!!</h3>";
else echo "<h3>Irgendwas schief, überprüfe deine MySQL Parameter (Connection)</h3>";
}
?>
<form name="form1" method="post" action="$PHP_SELF">
<input name="send" type="hidden" value="send">
<input name="variable1" type="text" id="variable1">
<br>
<input name="variable2" type="text" id="variable2">
<br>
<input type="submit" name="Submit" value="Senden">
</form>
</body>
</html> |
Speichere diese Code als test.php und passe alles für deine MySQL-Tabelle an.
gruss
jimmy _________________ Webmaster
|
|
| Nach oben |
|
 |
gruenschnabel Stammuser [User]

Anmeldung: 05.10.04 Beiträge: 32
|
Verfasst am: 05.10.2004, 09:38 Titel: |
|
|
Das hat leider nicht funktioniert. Drück ich den send-button kann er die seite nicht finden...
ich weiss nicht aber ich glaube, bei dir fehlt auch ein --> ' bei:
'".$_POST['variable1']."')")
Bin mir aber nicht sicher ob das einen einfluss hat. Naja, mich regt das alles auf. Ich sitze hier nen paar stunden und bin hier am rumnobeln!!! Soll der ****** uns das doch erstmal gescheit beibringen, bevor der so ne hausaufgabe raushaut!!!
Mann mann mann!
|
|
| Nach oben |
|
 |
jimmy Helfer [User]


Anmeldung: 26.08.04 Beiträge: 128 Wohnort: Berlin
|
Verfasst am: 05.10.2004, 09:41 Titel: |
|
|
ja du hast Recht ' habe ich verloren, aber trotzdem soll das nicht weiter stören, Fehlermeldung sollte (parse error) erscheinen.
nimm diese Änderungen vor:
| Code: | <?PHP
//Formular Beispiel
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Formular Beispiel</title>
</head>
<body>
<?PHP
if($_POST['send'] == "send") {
//Hier steht deine MySQL Connection
//Daten in DB speichern
$result = mysql_query("INSERT INTO deine_table (variable1, variable2) VALUES ('".$_POST['variable1']."', '".$_POST['variable1']."')");
if($result) echo "<h3>Erfolg, Daten sind in Datenbank!!!</h3>";
else echo "<h3>Irgendwas schief, überprüfe deine MySQL Parameter (Connection)</h3>";
}
?>
<form name="form1" method="post" action="test.php">
<input name="send" type="hidden" value="send">
<input name="variable1" type="text" id="variable1">
<br>
<input name="variable2" type="text" id="variable2">
<br>
<input type="submit" name="Submit" value="Senden">
</form>
</body>
</html> |
_________________ Webmaster
|
|
| Nach oben |
|
 |
gruenschnabel Stammuser [User]

Anmeldung: 05.10.04 Beiträge: 32
|
Verfasst am: 05.10.2004, 10:05 Titel: |
|
|
Vielen Dank nochmal für die Hilfe,
aber es geht leider immer noch nicht. jetzt kommt zumindest schonmal, dass was mit der Connection nicht stimmt.
Bin mir aber ziemlich sicher, dass das passt, weil sonst müsste er vorher abbrechen. Zur Sicherheit:
mysql_pconnect($db_server, $db_user, $db_pass) or die("ERROR: Verbindsaufbau zum Datenbank-Server fehlgeschlagen.");
mysql_select_db($db_name) or die ("ERROR: Die Datenbank konnte nicht ausgewaehlt werden");
Naja. Ich glaub ich gebs auf...
|
|
| Nach oben |
|
 |
jimmy Helfer [User]


Anmeldung: 26.08.04 Beiträge: 128 Wohnort: Berlin
|
Verfasst am: 05.10.2004, 10:12 Titel: |
|
|
lol,
nicht aufgeben
Poste mal hier, was für ne Fehlermeldung hast du?
Man kann jedes Problem irgendwie lösen _________________ Webmaster
|
|
| Nach oben |
|
 |
gruenschnabel Stammuser [User]

Anmeldung: 05.10.04 Beiträge: 32
|
Verfasst am: 05.10.2004, 10:17 Titel: |
|
|
Naja, er gibt mir halt deine meldung "Irgendwas schief, überprüfe deine MySQL Parameter (Connection)" aus.
Resultiert ja aus folgendem Part:
$result = mysql_query("INSERT INTO 'adresse' (Firma, Strasse, Stadt, Land, Tel, Homepage, Open) VALUES ('".$_POST['Firma']."', '".$_POST['Strasse']."', '".$_POST['Stadt']."', '".$_POST['Land']."', '".$_POST['Tel']."', '".$_POST['Homepage']."', '".$_POST['Open']."')");
if($result) echo "<h3>Erfolg, Daten sind in Datenbank!!!</h3>";
else echo "<h3>Irgendwas schief, überprüfe deine MySQL Parameter (Connection)</h3>";
|
|
| Nach oben |
|
 |
jimmy Helfer [User]


Anmeldung: 26.08.04 Beiträge: 128 Wohnort: Berlin
|
Verfasst am: 05.10.2004, 10:29 Titel: |
|
|
Erstmal mache 'adresse' in deinem SQL-Befehl ohne '', also einfach "INSERT INTO adresse blabla"
Dann schau mal deine MySQL-Tabelle, nachdem du was abgesendet hast. Ob die Daten wirklich nicht drin...  _________________ Webmaster
|
|
| Nach oben |
|
 |
gruenschnabel Stammuser [User]

Anmeldung: 05.10.04 Beiträge: 32
|
Verfasst am: 05.10.2004, 10:35 Titel: |
|
|
Hab ich gemacht.
Ist nicht drin.
Kann es vielleicht am format der felder liegen? Hab zu den angegebenen Feldern noch eine Spalte ID (auto increment) mit drin. Der Rest sind "varchar" Felder.
|
|
| Nach oben |
|
 |
jimmy Helfer [User]


Anmeldung: 26.08.04 Beiträge: 128 Wohnort: Berlin
|
Verfasst am: 05.10.2004, 10:39 Titel: |
|
|
Nee, alles korrekt
Sag mal, hast du Variable hier:
| Code: | mysql_pconnect($db_server, $db_user, $db_pass) or die("ERROR: Verbindsaufbau zum Datenbank-Server fehlgeschlagen.");
mysql_select_db($db_name) or die ("ERROR: Die Datenbank konnte nicht ausgewaehlt werden"); |
Richtig gesetzt?
Also $db_server, $db_user, $db_pass, $db_name? _________________ Webmaster
|
|
| Nach oben |
|
 |
gruenschnabel Stammuser [User]

Anmeldung: 05.10.04 Beiträge: 32
|
Verfasst am: 05.10.2004, 10:51 Titel: |
|
|
hab ich.
Weisst was, ich geb ihm das jetzt einfach so. Das ist mir jetzt auch einfach zu blöd! 5 Stunden für Aufgabe 1 a und b. Der soll mir einfach sagen wo der Fehler liegt. Ist ne Frechheit in meinen Augen!
Und ich hab schon Aufgabe 2a und b vor mir. Die sind dann bis Donnerstag...
2a) Geben Sie alle Daten der Tabelle in einer Liste aus.
2b) Geben Sie nur Firmennamen und Adresse aus, mit einem Link zu einer Detailseite. Generieren Sie diese Detailseite so, dass auf dieser dann alle Details angegeben sind.
Toll. Ich mein 2a krieg ich wahrscheinlich hin, aber 2b? Geht dass denn überhaupt so oder hätte ich die Tabelle in Aufgabe 1 schon anders anlegen müssen?
|
|
| Nach oben |
|
 |
jimmy Helfer [User]


Anmeldung: 26.08.04 Beiträge: 128 Wohnort: Berlin
|
Verfasst am: 05.10.2004, 11:02 Titel: |
|
|
In deine Tabelle fehlt noch "Beschreibung" für Detailansicht.
Man kann prinzipiell alles lösen, zeig ihm deine Lösung so, wenn er irgendwas davon versteht, wird er Fehler dann finden  _________________ Webmaster
|
|
| Nach oben |
|
 |
gruenschnabel Stammuser [User]

Anmeldung: 05.10.04 Beiträge: 32
|
Verfasst am: 06.10.2004, 06:52 Titel: |
|
|
Hi Jimmy!
So eine Hohlnuss. Wir haben keinen Fehler gemacht. Er hat uns die falschen Zugangsdaten für die Datenbank genannt. Funktioniert alles bestens und Aufgabe 2 a UND b habe ich auch schon gelöst!
Bin jetzt echt happy!
Also nochmal vielen Dank für die Hilfe!
|
|
| Nach oben |
|
 |
|
|