SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.08.2005, 19:08:20
Th_Heide Th_Heide ist offline
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>
Mit Zitat antworten
  #2  
Alt 18.08.2005, 19:46:22
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
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 19:47:15 Uhr)
Mit Zitat antworten
  #3  
Alt 18.08.2005, 20:29:59
Th_Heide Th_Heide ist offline
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...
Mit Zitat antworten
  #4  
Alt 19.08.2005, 09:49:53
Benutzerbild von Matt
Matt Matt ist offline
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.
Mit Zitat antworten
  #5  
Alt 19.08.2005, 15:33:37
Th_Heide Th_Heide ist offline
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);
    
?>
Mit Zitat antworten
  #6  
Alt 19.08.2005, 16:06:49
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
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.
Mit Zitat antworten
  #7  
Alt 19.08.2005, 17:04:15
Th_Heide Th_Heide ist offline
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 17:11:09 Uhr)
Mit Zitat antworten
  #8  
Alt 19.08.2005, 18:04:52
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
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.
Mit Zitat antworten
  #9  
Alt 19.08.2005, 18:32:52
Th_Heide Th_Heide ist offline
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
Mit Zitat antworten
  #10  
Alt 19.08.2005, 18:34:44
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
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
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Brauche Idee für Formular. c4 PHP Grundlagen 8 14.08.2007 13:47:08
Updatefunktion in Formular u. DB Schreiben, Hilfe! ubs MySQLi/PDO/(MySQL) 5 29.12.2004 10:34:38
e-mail-Absender und teilw. Daten fehlen bei Formularübermittlung, bitte um Hilfe unwissend PHP Grundlagen 3 14.12.2004 13:23:31
Daten aus Formular werden nicht an DB übergeben NelliB. PHP Grundlagen 19 09.10.2003 09:49:24
Eintragen von Daten oli-oli PHP Grundlagen 22 23.08.2002 15:23:24


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:00:37 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt