 |
| 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 |
15.02.2003, 15:06
|
#1
|
|
TP-Junior
Registriert seit: Jan 2003
|
(php/mysql) anfängerprobleme mit datenbankgestaltung
guten morgen liebe net-generation
ich habe massive probleme mit der planung einer datenbank. ich bin auf dem gebiet etwas langsam im verstehen. ach was sag ich, ich raff die ganze materie nich. alles was ich lese entpuppt sich als buch mit 7 siegeln. aber jetzt zu meinem vorhaben.
also ich möchte eine filmdatenbank erstellen (php u. mysql is vorhanden) in der die werte schauspieler, regisseur, titel, länge, genre und bemerkungen vorhanden sind. hier hab ich schon das erste problem. wie muß ich die datenbank aufbauen, also welche werte müssen in welche tabelle? zur erklärung: es soll später eine suchabfrage über ein formular gemacht werden, in dem man einen, oder mehrere werte eingibt und alles dazu erscheint.
ein bsp.: ich gebe den namen eines schauspielers ein und es erscheinen alle filmtitel in denen er mitgespielt hat, plus der anderen dazugehörigen werte.
so soll das auch mit den anderen sucheinträgen passieren. außer bei dem suchfeld genre, da sollen, je nach auswahl, alle filme zum ausgewählten genre erscheinen. also ich denke die werte schauspieler, regisseur und genre dürfen nicht in einer tabelle stehen, weil die ja irgendwie nur relativ zueinander in beziehung stehen, oder so ähnlich. kann das sein?
wenn ich das mir alles nochmal so durchlese befürchte ich fast ihr haltet mich für gaga  , deswegen hör ich jetzt erstmal auf mit meinen fragen und hoffe ihr könnt mir erstmal bei diesem problem helfen. die anderen probs schilder ich euch erst, wenn ich diese bewältigen sollte -g-.
greetz & big thx
filox
|
|
|
15.02.2003, 15:10
|
#2
|
|
TP-Member
Registriert seit: Jan 2003
Ort: Piesbach
|
mmh, wenn ich dich richtig verstanden habe, könnte dir folgendes helfen:
einfach ne tabelle mit den spalten schauspieler|regisseur|titel|länge|genre|bemerkungen
und füg dort alle deine filme ein!
wenn du dann zumbeispiel alle fime des genres "action" rausfilter willst, benutze einen solchen sql-befehl:
SELECT * FROM filme WHERE genre = 'action'
das geht dann natürlich mit allen anderen spalten identisch!
HTH
__________________
~
|
|
|
16.02.2003, 14:05
|
#3
|
|
TP-Junior
Registriert seit: Jan 2003
|
huhu fraggle
diese überlegung hatte ich auch schon alles in eine tabelle zu schreiben, aber das würde ja bedeuten, dass viele einträge doppelt wären. denn ich müsste ja für jeden neuen film die schauspieler und den regisseur neu eintragen, egal ob die schon in der tabelle stehen oder nicht. deswegen hatte ich mir überlegt eine tabelle mit schauspielern und eine mit regisseuren anzulegen und die restlichen werte auch in einer tabelle. also das man praktisch einen schauspieler, oder einen regisseur nur einmal eintragen muss. allerdings tun sich da für mich neue probleme auf -g- zum einen wie gestalte ich die sql-syntax des eingabeformular und zum anderen wie setze ich die 3 tabellen bei der abfrage in beziehung.
das klingt alles ganz schön kompliziert und vielleicht habe ich mir da zu viel vorgenommen, aber vielleicht kommt ja noch jemand auf ne idee.
greetz & thx
filox
|
|
|
16.02.2003, 14:18
|
#4
|
|
TP-Member
Registriert seit: Jan 2003
Ort: Piesbach
|
das ist ja das problem... du musst ja bei den filmen irgendeinen anhaltspunkt haben, welcher schauspieler da jetzt mitspielt, also ein feld das eindeutig sagt, dass bei dem film der und der schauspieler mitgewirkt hat!
__________________
~
|
|
|
16.02.2003, 14:50
|
#5
|
|
TP-Junior
Registriert seit: Jan 2003
|
kann man vielleicht eine, oder mehrere schauspieler id, je nachdem wieviele mitgespielt haben, in die titel tabelle einfügen?
also wenn man einen neuen film eingibt und einen in der schauspieler tabelle schon vorhandenen schauspieler dazu einträgt, das dann die schauspieler tabelle durchsucht wird und nur die zu dem schauspieler gehörige id in die titel tabelle eingetragen wird?
cya
filox
|
|
|
16.02.2003, 16:29
|
#6
|
|
TP-Member
Registriert seit: Jan 2003
Ort: Piesbach
|
dann kannste auch statt der id den schauspieler direkt reinschreiben, oder nich 
__________________
~
|
|
|
16.02.2003, 17:19
|
#7
|
|
TP-Junior
Registriert seit: Jan 2003
|
[kopfkratz] ääh, ja klar, stimmt schon, wär ja sonst doppelt gemoppelt. [/kopfkratz]
ok, ich mache alles in einer tabelle.
ich würde diesen threat gerne noch offen lassen, weil sich bestimmt noch mehr fragen ergeben. wenn das nicht erwünscht is sagt bescheid.
bis dahin...
filox
|
|
|
16.02.2003, 19:06
|
#8
|
|
TP-Junior
Registriert seit: Jan 2003
|
und schon gehts los -g-
ich hab jetzt alle werte in einer tabelle, das einfügen klappt problemlos. wie sieht jetzt aber eine select abfrage kombiniert mit where und or in php aus?
cya
filox
|
|
|
16.02.2003, 21:10
|
#9
|
|
TP-Member
Registriert seit: Jan 2003
Ort: Piesbach
|
SELECT FROM tabelle WHERE Bedingung or Bedingung2

__________________
~
|
|
|
16.02.2003, 21:18
|
#10
|
|
TP-Junior
Registriert seit: Jan 2003
|
ach da hab ich mich wohl falsch ausgedrückt. ich meinte wie das in php aussieht. also so ne where abfrage mit mehreren or und wie das ausgegeben wird, mit diesem fetch_array zeugs. ich hab schon mal was abgeschrieben aus nem buch, aber da passiert gar nix, es kommt keine fehlermeldung, aber auch kein ergebnis, nur ne schöne leere seite -g-.
bis denne
filox
|
|
|
16.02.2003, 21:47
|
#11
|
|
TP-Moderator
Registriert seit: Nov 2001
Ort: Vienna
|
Schreib mal, was du genau geschrieben hast um die Daten der Tabelle auszugeben.
|
|
|
16.02.2003, 21:59
|
#12
|
|
TP-Junior
Registriert seit: Jan 2003
|
also meine tabelle sieht so aus:
Feld Typ
id int(255)
titel varchar(100)
actor1 varchar(30)
actor2 varchar(30)
actor3 varchar(30)
actor4 varchar(30)
actor5 varchar(30)
director varchar(30)
laenge varchar(50)
genre varchar(50)
bemerkung text
mein abfrage formular sieht so aus:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Datenbankeingabe</title>
</head>
<body text="#000000" bgcolor="#FFFFFF">
<form action="select.php" method="post">
<table >
<tr>
Titel:
</tr>
<tr>
<input type="Text" name="titel" size="60" maxlength="100">
</tr>
<tr> </tr>
<tr>
Hauptdarsteller:
</tr>
<tr>
<input type="Text" name="act1" size="30" maxlength="50">
</tr>
<tr> </tr>
<tr>
Regisseur:
</tr>
<tr>
<input type="Text" name="director" size="30" maxlength="50">
</tr>
<tr> </tr>
<tr>
Genre:
</tr>
<tr>
<select name="genre" size="1">
<option selected> </option>
<option>Komödie</option>
<option>Action</option>
<option>Thriller</option>
<option>Science Fiction</option>
<option>Sonstiges</option>
</select>
</tr>
<tr>
<td><input type="submit" name="abfrg" value="Anzeige"></td>
<td><input type="reset" value="Felder zurücksetzen"></td>
</tr>
</table>
</form>
</body>
</html>
und meine abfrage.php sieht so aus:
<?
include("db_connect.php");
$abfrg="select * from info
where
titel='$titel'
or
act1='$act1'
or
act2='$act2'
or
act3='$act3'
or
act4='$act4'
or
act5='$act5'
or
director='$director'
or
genre='$genre'";
$erg=mysql_query($abfrg);
for ($j=0; $j<mysql_num_fields($erg); $j++)
{ echo mysql_field_name($erg, $j)." | ";};
echo "<br><br>";
while ($zeile=mysql_fetch_row($erg))
{ for ($j=0; $j<mysql_num_fields($erg); $j++)
{ echo $zeile[$j]." | "; };
echo "<br>"; };
mysql_free_result($erg);
?>
ich krieg jetzt nur fehlermeldungen. ich kapier auch nich wann man welchen fetch befehl einsetzt bzw. wie das überhaupt geht mit der ergebnisdarstellung in php.
|
|
|
17.02.2003, 12:40
|
#13
|
|
TP-Junior
Registriert seit: Jan 2003
|
moinsen
also nach viel rumprobieren hab ich es geschafft das was ausgegeben wird, allerdings nicht so wie ich das will. wenn ich im obigen formular z.b. nur einen schauspieler eingebe, dann soll er mir alle filme mit den dazugehörigen infos ausgeben. es soll aber auch so funzen, das wenn ich z.b. nur den regisseur eingebe, alle filme mit diesen regissuer ausgegeben werden. und genau diese sql abfrage krieg ich nicht hin, kann es sein das man das in mehrere abfragen unterteilen muß? und wenn ja, wie kombinier ich das in php?
greetz
filox
|
|
|
17.02.2003, 17:54
|
#14
|
|
Registered User
Registriert seit: Feb 2002
|
.
Geändert von Radoo.de (09.09.2003 um 21:55 Uhr).
|
|
|
17.02.2003, 18:18
|
#15
|
|
TP-Junior
Registriert seit: Jan 2003
|
wow, starker tobak!
da werd ich mich wohl die nächsten tage nich melden können, das muß ich erstmal verdauen  .
im übrigen hab ich schon ein paar bücher über php und mysql. das problem is nur, das die sich teilweise nicht einig sind und auch keine schritt für schritt erklärung bieten.
in den letzten tagen hab ich mich durchs net gewühlt und ein paar einblicke gewonnen. was mir schwer fällt ist mysql und php zu kombinieren, das heißt welche funktion is für was genau gut und warum. die erklärungen die man so findet sind nicht oder nur teilweise für newbies geeignet, imo. wenns das nächste mal geld gibt, werd ich mir vielleicht noch ein buch kaufen, vielleicht hilfts ja -g-.
vielen dank erstmal. ich melde mich und werde berichten wie ich mit deiner variante zurecht gekommen bin.
bis dahin...
filox
|
|
|
|
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 01:51 Uhr.
|
 |