CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
18.08.2005, 18:08:20
|
Anfänger
|
|
Registriert seit: Oct 2004
Beiträge: 79
|
|
Daten aus DB in ein Formular eintragen lassen - Brauche Hilfe
Hallo Forum,
ich möchte folgendes:
1. Mittels eines DropDownmenus auf die Daten der Tabelle zugreifen um dort einen Datensatz auszuwählen
2. die daten des unter 1. ausgewählten Datensatzes in einem Formular
bereits voreingetragen sind, um diese zu ändern und mittels senden diese in der DB zu updaten.
Punkt 1 hab ich hinbekommen, könnt ihr mir bei Punkt 2 helfen..
Danke im vorraus.
Thomas
Hier mein bisheriger Quellcode:
PHP-Code:
<html>
<head>
<title></title>
</head>
<body>
<?php
include("/home/www/web817/files/include.inc.php");
$db = mysql_connect($sql_server, $sql_user, $sql_password);
// benutze Datenbank
$db_selected = mysql_select_db("usr_web817_1", $db);
echo "<form action=$PHP_SELF method=post name=ok>";
print '<select name="id">';
$sql = "SELECT id, sort FROM spielorte ORDER BY id";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)) {
print "<option value='{$row['id']}'>{$row['id']} , {$row['sort']}</option>";
}
print '</select>';
echo "<br><br>";
echo "<input type=submit value=ok name=DELETE>";
echo "</form>";
mysql_close($db);
?>
<a href="index.html">zurück</a>
</body>
</html>
|
18.08.2005, 18:46:22
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Daten aus DB in ein Formular eintragen lassen - Brauche Hilfe
Wo genau hakt es denn? Überprüfe in der Schleife, ob der aktuelle Datensatz in der Schleife derjenige ist, der vorbelegt sein soll und gebe dann gegebenenfalls selected="selected" aus.
Geändert von xabbuh (18.08.2005 um 18:47:15 Uhr)
|
18.08.2005, 19:29:59
|
Anfänger
|
|
Registriert seit: Oct 2004
Beiträge: 79
|
|
AW: Daten aus DB in ein Formular eintragen lassen - Brauche Hilfe
Zitat:
Zitat von xabbuh
Wo genau hakt es denn? Überprüfe in der Schleife, ob der aktuelle Datensatz in der Schleife derjenige ist, der vorbelegt sein soll und gebe dann gegebenenfalls selected="selected" aus.
|
ich komme mit dem quellcode nicht weiter. war ja froh das ich dank diesem forum bisher soweit bin...
|
19.08.2005, 08:49:53
|
|
Member
|
|
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
|
|
AW: Daten aus DB in ein Formular eintragen lassen - Brauche Hilfe
Hallo! Ich hoffe, ich verstehe hier nun dein Problem. Folgende Lösung könnte für dich Brauchbar sein.
Du hast eine Funktion drawXYForm, der du eine ID aus der Datenbank übergibst. Beispielsweise du hast in deiner datenbank eine Tabelle "Fahrzeuge", die hat die Felder "ID", "Type", "Verkaufspreis", "Beschreibung".
Dazu legst du eine Funktion, "DrawVehicleForm" an. Dieser übergibst du die ID des eintrages der in das formular gelesen werden soll. willst du ein leeres Formular übergibst du als ID -1
Diese funktion liest dann anschließend die Werte aus der Datenbank aus und passt sie in ein formular ein:
das sieht ungefähr so aus - syntaxfehler vorbehalten
PHP-Code:
function drawVehicleForm($id=-1)
{
/* wichtig für diese Funktion müssen hier fehlermeldungen vom Typ E_NOTICE unterdrückt werden - wir referieren uns auf Variablen, von denen wir nicht wissen, ob sie initialisiert sind. Das macht allerdings nicht viel - wir sind hier in dem Funktions scope von daher kann hier nichts eingeschläust werden. */
if($id!=1)
{
$res=mysql_query("select ID, type, verkaufspreis, beschreibung from fahrzeuge where ID='$id'");
$res=mysql_fetch_array($res);
# wir haben ein assoziatives array einer zeile, die einzelnen einträge können beispielsweise über
# $res["verkaufspreis"] angesprochen werden.
while(list($key,$value)=each($res))
{ $$key=$value; }
# wir initialisieren lokale variablen die den Namen der Datenbank spalte haben - nachher gibt es also beispielsweise eine variable $verkaufspreis
}
print "
<form action='verify.php?type=vehicle' method='POST'><input type='hidden' name='ID' value='$id'><input type='text' name='type' value='$type'> ... <input type='submit'> </form>
"
}
nun hast du dein Form ausgefüllt, wenn eine Gültige ID aus der Datenbank angegeben wurde. wenn die daten abgeschickt werden (in dem fall an verify.php) musst du dort zuerst überprüfen, ob die ID (das versteckte feld) -1 ist ist - ist dem so, dann wird ein neuer datensatz angelegt, ansonsten wird ein bestehender upgedated.
|
19.08.2005, 14:33:37
|
Anfänger
|
|
Registriert seit: Oct 2004
Beiträge: 79
|
|
AW: Daten aus DB in ein Formular eintragen lassen - Brauche Hilfe
Liebes Forum, bin etwas weitergekommen.
Nun tauchen 2 weietre Probleme auf:
1. Es wird nur die Hälfte des Inhaltes in den Formularfeldern angeziegt (irgendwie bringt er nach einem Leerezichen den Rest nicht mit)
Wenn ich aber mir die Variablen mit echo $variable ausgebe kommt der komplette inhalt der DB zur Ansicht
2. Das anschließende Update will auch nicht funktionieren
Könnt Ihr mir helfen??
anbei der quellcode:
PHP-Code:
<?php
include("/home/www/web817/files/include.inc.php");
$db = mysql_connect($sql_server, $sql_user, $sql_password);
// benutze Datenbank
$db_selected = mysql_select_db("usr_web817_1", $db);
echo "<form action=$PHP_SELF method=post name=ok>";
print '<select name="id">';
//abfrage für die darstellung der Daten im DropDownMenu
$sql = "SELECT id, sort FROM spielorte ORDER BY id";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)) {
print "<option value='{$row['id']}'>{$row['id']} , {$row['sort']}</option>";
}
print '</select>';
echo "<br><br>";
echo "<input type=submit value=ok name=UPDATE>";
echo "</form>";
if($UPDATE)
{
$sql1= "SELECT id, sort, ans, plz, ort, tel, teams FROM spielorte where id=$id";
$result1 = mysql_db_query("usr_web817_1", $sql1);
$id=mysql_result($result1,0,"id");
$sort=mysql_result($result1,0,"sort");
$ans=mysql_result($result1,0,"ans");
$plz=mysql_result($result1,0,"plz");
$ort=mysql_result($result1,0,"ort");
$tel=mysql_result($result1,0,"tel");
$teams=mysql_result($result1,0,"teams");
echo"<form action=$PHP_SELF method=post name=eintragen>";
echo"<table cellspacing=2 cellpadding=2 border=0>";
echo"<tr>
<td>ID:</td>
<td><input type=text name=id value=$id size=15></td>
</tr>";
echo"<tr>
<td>Spielort:</td>
<td><input type=text name=sort value=$sort size=15></td>
</tr>";
echo"<tr>
<td>Anschirft:</td>
<td><input type=text name=ans value=$ans size=30></td>
</tr>";
echo"<tr>
<td>Postleitzahl:</td>
<td><input type=text name=plz value=$plz size=15></td>
</tr>";
echo"<tr>
<td>Ort:</td>
<td><input type=text name=ort value=$ort size=30></td>
</tr>";
echo"<tr>
<td>Telefon:</td>
<td><input type=text name=tel value=$tel size=15></td>
</tr>";
echo"<tr>
<td>Teams:</td>
<td><input type=text name=teams value=$teams size=30></td>
</tr>";
echo"</table>";
echo"<br>";
echo"<input type=submit value=Update name=eintragen>";
echo"</form>";
}
if($eintragen)
{
$sql_update = "UPDATE spielorte SET id='$id', sort='$sort', ans='$ans', plz='$plz', ort='$ort', tel='$tel', teams='$teams'";
$result_update = mysql_query($sql_update)
or die("<p>Fehler beim UPDATE der Datenbank! die Abfrage ".$sql_update." ist gescheitert
".mysql_error()."</p>");
$message = "Erfolgreich geupdatet";
echo $message;
}
echo"<p></p>";
echo $id;
echo"<p></p>";
echo $sort;
echo"<p></p>";
echo $ans;
echo"<p></p>";
echo $plz;
echo"<p></p>";
echo $ort;
echo"<p></p>";
echo $tel;
echo"<p></p>";
echo $teams;
mysql_close($db);
?>
|
19.08.2005, 15:06:49
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Daten aus DB in ein Formular eintragen lassen - Brauche Hilfe
Zitat:
Zitat von Th_Heide
1. Es wird nur die Hälfte des Inhaltes in den Formularfeldern angeziegt (irgendwie bringt er nach einem Leerezichen den Rest nicht mit)
|
Beschreibe das Problem bitte mal etwas genauer.
Zitat:
Zitat von Th_Heide
Wenn ich aber mir die Variablen mit echo $variable ausgebe kommt der komplette inhalt der DB zur Ansicht
|
Wo verwendest du denn $variable?
Zitat:
Zitat von Th_Heide
2. Das anschließende Update will auch nicht funktionieren
|
Was sagt mysql_error()? Wie sieht die Abfrage aus.
|
19.08.2005, 16:04:15
|
Anfänger
|
|
Registriert seit: Oct 2004
Beiträge: 79
|
|
AW: Daten aus DB in ein Formular eintragen lassen - Brauche Hilfe
Problem 1:
Inhalt der Spalte sort ist: Meier Bautzen
die Anzeige im Formularfeld zeigt mir nur: "Meier" an und nicht den kompletten Inhalt. So auch bei anderen Feldern.
Problem 1 nochmal;
wenn ich echo $sort; mir anzeigen lassen, dann erscheint der komplette Inhalt der DB also: Meier Bautzen
Problem2:
Fehler beim UPDATE der Datenbank! die Abfrage:
UPDATE spielorte SET id='3', sort='Landskronoase', ans='Landskornstraße', plz='02826', ort='Görlitz', tel='03581-545151', teams='Teanm' ist gescheitert.
Duplicate entry '3' for key 1
die Abfrage dazu findest du ja im quellcode:
PHP-Code:
$sql_update = "UPDATE spielorte SET id='$id', sort='$sort', ans='$ans', plz='$plz', ort='$ort', tel='$tel', teams='$teams'";
Geändert von Th_Heide (19.08.2005 um 16:11:09 Uhr)
|
19.08.2005, 17:04:52
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Daten aus DB in ein Formular eintragen lassen - Brauche Hilfe
Zitat:
Zitat von Th_Heide
Problem 1:
Inhalt der Spalte sort ist: Meier Bautzen
die Anzeige im Formularfeld zeigt mir nur: "Meier" an und nicht den kompletten Inhalt. So auch bei anderen Feldern.
|
Hast du mal in den HTML-Quelltext geschaut, wie es da aussieht?
Zitat:
Zitat von Th_Heide
Fehler beim UPDATE der Datenbank! die Abfrage:
UPDATE spielorte SET id='3', sort='Landskronoase', ans='Landskornstraße', plz='02826', ort='Görlitz', tel='03581-545151', teams='Teanm' ist gescheitert.
Duplicate entry '3' for key 1
|
Du versuchst allen Datensätzen in der Tabelle für die Spalte id den Wert 3 zuzuweisen. Da in dieser Spalte aber kein Wert doppelt vorkommen darf, führt dies zwangsläufig zu einem Fehler.
|
19.08.2005, 17:32:52
|
Anfänger
|
|
Registriert seit: Oct 2004
Beiträge: 79
|
|
AW: Daten aus DB in ein Formular eintragen lassen - Brauche Hilfe
Zitat:
Zitat von xabbuh
Hast du mal in den HTML-Quelltext geschaut, wie es da aussieht?
|
wasmeinst du damit
|
19.08.2005, 17:34:44
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Daten aus DB in ein Formular eintragen lassen - Brauche Hilfe
Im Browser: Quelltext anzeigen
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:59:42 Uhr.
|