 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
30.09.2004, 19:49
|
#1
|
|
TP-Newbie
Registriert seit: Sep 2004
|
Anfängerfrage zu php mysql und forumular
Tach zusammen. Könnt ihr euch mal das angucken:
riddler17.ri.funpic.de/test2.php
und hier der Code davon
Code:
<div id="content">
<h2 id="pageName">Liste</h2>
<div class="feature">
<?
$Benutzer = "***";
$Server = "localhost";
$Pass = "***";
$Verbindung = mysql_connect($Server, $Benutzer, $Pass) or die ("Keine Verbindung möglich");
$res = mysql_db_query("riddler17","SELECT * FROM filme");
$num = mysql_num_rows($res);
for ($i=0; $i<$num; $i++)
{
$id = mysql_result($res, $i, "id");
$Filmtitel = mysql_result($res, $i, "Filmtitel");
echo "$id, $Filmtitel, <br>";
}
mysql_close($Verbindung);
?>
</div>
<div class="story">
<?
if ($Schicken)
{
$Benutzer = "***";
$Server = "localhost";
$Pass = "***";
$Verbindung = mysql_connect($Server, $Benutzer, $Pass) or die ("Keine Verbindung möglich");
$sqlab = "insert riddler17";
$sqlab .= "(id, Filmtitel) VALUES";
$sqlab .= "('$id', '$Filmtitel')";
mysql_close($Verbindung);
}
?>
<ul>Neuen Film eingeben</ul>
<form method="post" action="Schicken">
<input name="Filmtitel" type="text" size="30" maxlength="50" />
<input type ="submit" value = "Schicken" />
</form>
</div>
ich weis is nich schön soll nur zum Test dienen. Undzwar ist mein Problem, dass ich nicht weis wie ichs hinbekomme, dass wenn ich etwas in das Formular eintrage und abschicke es sofort in der Liste oben erscheint - zu den anderen Titeln dazu.
Also die Verbindung zur Datenbank besteht und ich habs auch schonmal hinbekommen die Daten da reinzuschreiben aber dann haben sich auf einmal entweder alle Filmtitel geändert usw. und jetzt findet er nichmal mehr den server.
ich hoffe ihr könnt mir da helfen
|
|
|
01.10.2004, 21:35
|
#2
|
|
TP-Senior
Registriert seit: Apr 2004
Ort: Hockenheim
|
datenbank.inc.php
PHP-Code:
<?
$host = "asdf";
$user = "asdf";
$pass = "asdf";
$db = "asdf";
// Verbindung herstellen
$connection = mysql_connect($host,$user,$pass) or die("Verbindung zur DB kann nicht hergestellt werden...");
// Datenbank Auswählen
$db = mysql_select_db($db, $connection) or die("DB kann nicht ausgewaehlt werden...");
?>
index.php
PHP-Code:
<?
include "datenbank.inc.php";
// wenn vorhanden, dann neue Daten eintragen ##########################################################
if($ok=="1"&&$Filmtitel){
$sql="INSERT INTO filme(
id,
Filmtitel)
VALUES(
'$id',
'$Filmtitel')";
mysql_query($sql,$connection) or die ("Eintrag nicht erfolgreich!");
}
// Alle Daten aus der Datenbank abfragen ###############################################################
$sql = "SELECT * FROM filme";
$result = mysql_query($sql,$connection) or die ("Kann die Daten nicht abfragen!");
while($row=mysql_fetch_array($result)){
$ergebniss .= "$row[id], $row[Filmtitel], <br />\n";
}
mysql_close($connection);
?>
<div id="content">
<h2 id="pageName">Liste</h2>
<div class="feature">
<?=$ergebniss?>
</div>
<div class="story">
<ul>Neuen Film eingeben</ul>
<form name="form1" method="post" action="index.php">
<input name="ok" type="hidden" id="ok" value="1">
<input name="Filmtitel" type="text" size="30" maxlength="50" />
<input type="submit" name="Submit" value="Senden" />
</form>
<p> </p>
</div>
So tut die ganze Sache, zumindest bei mir…
Die Verbindung zur Datenbank stell ich in einer eigenen Datei her, so kann ich sie einfach wild durch die gegend Kopieren ohne mir die Zugangsdaten merken zu müssen  .
Und die Abfrage nach dem „Submit-Button“ hab ich durch eine Abfrage nach einem „hidden-field“ ersetzt ($ok==1).
Die ganze Ausgabe hab ich an den Anfang des Quellcode gesetzt und in $ergebniss gespeichert.
|
|
|
02.10.2004, 17:15
|
#3
|
|
TP-Newbie
Registriert seit: Sep 2004
|
hmmmm jo das is auch ne gute idee.danke für den vorschlag.habs jetzt auch noch auf ne andere Weise gechafft.jetzt hab ich nur noch ein anderes Problem:
Beispiel:
1,Good Fellas,
2,Bad Boys,
jetzt lösche ich z.B. id 2 und füge wieder einen anderen titel hinzu dann steht da:
1,Good Fellas,
3,Bad Boys2,
ok also warum steht da nicht id 2??? und wie kann ich das ändern?
die andere sache ist noch.da steht ja immer ein komma hinter den einträgen wie oben im beispiel.kann man das irgendwie ändern...also komplet wegmachen oder z.B durch nen punkt ersetzen?
|
|
|
02.10.2004, 18:14
|
#4
|
|
TP-Senior
Registriert seit: Apr 2004
Ort: Hockenheim
|
hi,
die Kommas hab ich von dir übernommen, ich dachte du wolltest sie.
ersetze…
PHP-Code:
$ergebniss .= "$row[id], $row[Filmtitel], <br />\n";
durch…
PHP-Code:
$ergebniss .= "$row[id] $row[Filmtitel] <br />\n";
Das mit der id muß an deinem »DELETE query« liegen, denn wenn ich einen Datensatz direkt in »phpMyAdmin« lösche, tut alles wie es soll.
|
|
|
02.10.2004, 18:25
|
#5
|
|
TP-Newbie
Registriert seit: Oct 2004
|
Falls die ID in der DB mit auto_increment eingetragen wird dann ist das logisch, wenn nicht sollte ich mir den Code nochmal näher ansehen.
|
|
|
02.10.2004, 18:41
|
#6
|
|
TP-Senior
Registriert seit: Apr 2004
Ort: Hockenheim
|
Ups  …
Der »2« in »Bad Boys2« hat mich verwirrt…
Ich dachte dein Problem wäre dass nur der »Filmtitel« und nicht die »ID« gelöscht wird – wer lesen kann ist klar im Vorteil
Wenn du den Bug beheben möchtest, mußt du vor dem »INSERT« eine abfrage machen welches die niedrigste nicht vergebene »ID« ist.
|
|
|
03.10.2004, 00:00
|
#7
|
|
TP-Supporter
Registriert seit: Apr 2001
|
Hi
es ist doch eigentlich rel. wurscht welche ID jetzt hochzählend eingetragen wird, Hauptsache ist doch, sie ist dem Datensatz eindeutig zugeordnet.
Wenn Du einen Zähler für die Ausgabe
1.
2.
3.
etc.
haben möchtest, dann kann dies wunderbar mittels einer Variablen in der While-Schleife hochgezählt werden.
__________________
Liebe Grüße, die Judi!
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:16 Uhr.
|
 |