php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.08.2010, 17:05  
Neuer Benutzer
 
Registriert seit: 30.08.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Gody1989 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Filmdatenbank

Hallo @ all,

ich möchte mir eine FilmDB machen für alle filme meiner Externen Festplatte Die ich dann als liste ausgeben kann etc.

1. Meine Datenbank sieht wie folgt aus:

ID int ( 8 )
Titel varchar ( 32 )
Genre varchar ( 64 )
Handlung text
Laenge int ( 8 )
FSK int ( 8 )

erste frage ist also ob die größen so reichen nen kommi wer sowas schonmal gemacht hat wär super

2. Das ist mein Formular

Code:
<form action="" method="post">
<p>
	<p>
		<h3>Titel</h3>
		
		<p>Titel:&nbsp;<input name="Titel" maxlength="40" size="40"></p>
	</p>

	<p>	
		<h3>Genre</h3>
	<table>
		<td>
		<p><input type="checkbox" name="Abenteuer" value="Abenteuer" /> Abenteuer</p>
		<p><input type="checkbox" name="Action" value="Action" /> Action</p>
		<p><input type="checkbox" name="Drama" value="Drama" /> Drama</p>
		<p><input type="checkbox" name="Familie" value="Familie" /> Familie</p>
		</td>
		<td>
		<p><input type="checkbox" name="Fantasie" value="Fantasie" /> Fantasie</p>
		<p><input type="checkbox" name="Grusel" value="Grusel" /> Grusel</p>
		<p><input type="checkbox" name="Horror" value="Horror" /> Horror</p>
		<p><input type="checkbox" name="Komoedie" value="Komoedie" /> Komoedie</p>
		</td>
		<td>
		<p><input type="checkbox" name="Kriegsfilm" value="Kriegsfilm" /> Kriegsfilm</p>
		<p><input type="checkbox" name="Krimi" value="Krimi" /> Krimi</p>
		<p><input type="checkbox" name="Romanze" value="Romanze" /> Romanze</p>
		<p><input type="checkbox" name="Sci-Fi" value="Sci-Fi" /> Sci-Fi</p>
		</td>
		<td>
		<p><input type="checkbox" name="Thriller" value="Thriller" /> Thriller</p>
		<p><input type="checkbox" name="Western" value="Western" /> Western</p>
		</td>
	</table>
	</p>
	
	<p>
		<h3>Handlung</h3>
		
		<p><textarea name="Handlung" cols="40" rows="10"></textarea></p>
	</p>
	
	<p>
		<h3>Laenge</h3>
		
		<p>Laenge&nbsp;<input name="Laenge" size="4" maxlength="3" />&nbsp;in Minuten</p>
	</p>
	
	<p>
		<h3>Altersfreigabe</h3>
		
		<p><select name="FSK">
			<option value="0">
			0 </option>
			<option value="6">
			6 </option>
			<option value="12">
			12 </option>
			<option value="16">
			16 </option>
			<option value="18">
			18 </option>
			</select>&nbsp;FSK</p>
	</p>
	
	<input type="submit" value="Senden" /><input type="reset" />
</p>
meine größte frage ist ich habe noch nie mit Checkboxen oder einem auswahlmenue gearbeitet
dazu kommt das ja mehrere Genre angeklickt werden können die dann als Kette am besten mit trennungszeichen (leerzeichen oder komma) gespeichert werden muss
und da ich bis jetzt nur einen login geschrieben habe weiß ich nicht wie ich die angegebenen Daten per sql einlesen soll wie gesagt.

1. wegen den Checkboxen und auswahlmenue
2. wegen den mehreren Genres

Wär für vorschläge und netten rad/kritik dankbar

Geändert von Gody1989 (30.08.2010 um 19:25 Uhr).
Gody1989 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.08.2010, 17:14  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 921
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Die Fatenbank und Frennungszeichen Sehr schön.

Du willst doch nach den Genres garantiert auch suchen können, oder? Dann lieber mal das Thema komplex-komplexe Beziehungen bei Datenbanken anschauen. Glaub mir, macht dir das Leben an der Stelle definitiv leichter. Auch mal einen Blick auf die Datenbank-Normalisierung werfen.

Das Titel-Feld könnte etwas kurz sein. Zumindest wenn du die Deutschen Titel mitspeichern willst. Da hängt ja oft noch ein "bechreibender" Halbsatz dran.

Wenn das eine Fingerübung zu Lernen sein soll, wunderbar. Wenn es nicht um das Lernen, sondern um das Haben geht, gibt es haufenweise fertige Lösungen. Je nachdem was du als Player verwendest (beispielsweise MyMovies für das WMC oder Ember Media Manager für XBMC).
__________________
Wir suchen PHP / Delphi und .NET Entwickler im Raum Darmstadt / Rhein-Main. Infos via E-Mail mueller@new-frontiers.de
mquadrat ist offline  
Alt 30.08.2010, 17:19  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.849
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Das ist keine Datenbank, sondern eine Tabelle, und diese ist für deinen Zweck nicht optimal geeignet.
Genre varchar ( 64 ) machst du komplett weg

und schaffst noch zwei zusätzliche Tabellen:

Tabelle Genre
id int autoincrement primary index
genre varchar(255)
Da erfasst du pro Genre einen Eintrag, zB 1=action, 2=SciFi usw

Tabelle FilmGenre
id_film int
id_genre int
Hier werden später die FilmIDs mit den Genre-Ids verknüpft. Wenn film 4711 zu Genre 3,5,8 und 14 gehört, dann hast du vier Zeilen ind er Tabelle

4711 3
4711 5
4711 8
4711 14
In
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 30.08.2010, 19:41  
Neuer Benutzer
 
Registriert seit: 30.08.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Gody1989 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Okay die Datenbank ist jetzt soweit fertig glaube ich

film_tb:

Film_ID int( 11 )
Titel varchar( 255 )
Handlung text
Laenge int( 8 )
FSK int( 8 )

genre_tb

Genre_ID int( 11 )
genre varchar( 255 )

Inhalt:

1 Abenteuer
2 Action
3 Drama
4 Familie
5 Fantasie
6 Grusel
7 Horror
8 Komoedie
9 Kriegsfilm
10 Krimi
11 Romanze
12 Sci-Fi
13 Thriller
14 Western

film_genre

ID_Film int(11)
ID_Genre int(11)

aber wie ich die SQL abfrage mit den checkboxen und so machen sollweis ich immernoch nicht
Gody1989 ist offline  
Alt 30.08.2010, 20:42  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.849
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Im HTML-Bereich kannst du das hier bauen:
Code:
<select name="genre[]" size="10" multiple>
...
</select>
und dazwischen halt die Zeilen deiner Tabelle genre_tb ausgeben lassen. Man kann dann mehrere Zeilen markieren, wenn man die STRG-Taste gedrückt hält und du hast dann alle ausgewählten values im Array $_POST['genre'] (probiers aus).

Gespeichert wird das ganze so:
Zuerst die Filmdaten in die tabelle Film_tb. Die vergebene ID mit mysql_insert_id() abholen und dann den Array $_POST['genre'] mit diser ID in die dritte Tabelle schreiben.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 30.08.2010, 21:12  
Erfahrener Benutzer
 
Registriert seit: 13.05.2009
Beiträge: 1.132
PHP-Kenntnisse:
Fortgeschritten
dennis81 befindet sich auf einem aufstrebenden Ast
Standard

Kleiner Hinweis:
MySQL :: MySQL 5.1 Referenzhandbuch :: 11.2 Numerische Datentypen

INT(zahl) heißt nicht etwa, dass hier ein zahl-stelliges INT Feld angelegt wird.
Ein INT hat immer 4 Bytes (32 Bit) und kann somit Werte zwischen -2147483648 und 2147483647 annehmen (bei vorzeichenbehafteten Zahlen).
Die Zahl in Klammern gibt an, auf wie viele Zeichen aufgefüllt werden soll. Entweder mit Nullen, oder (default-mäßig) mit Leerzeichen; Stichwort: Zerofill.
__________________
Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)
dennis81 ist offline  
Alt 31.08.2010, 00:48  
Neuer Benutzer
 
Registriert seit: 30.08.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Gody1989 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Wolla

ich würde die checkboxen vorziehen und das muss jah iwie zu realisieren sein

@dennis81

jah das weiß ich ist Binärrechnung aba warum sprichst du das an?
Gody1989 ist offline  
Alt 31.08.2010, 09:14  
Erfahrener Benutzer
 
Registriert seit: 13.05.2009
Beiträge: 1.132
PHP-Kenntnisse:
Fortgeschritten
dennis81 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Gody1989 Beitrag anzeigen
@dennis81

jah das weiß ich ist Binärrechnung aba warum sprichst du das an?
Weil du in deinem, mittlerweile (weg-)editierten, Ausgangspost gefragt hast, ob die Feldlängen ausreichend sind und du für INT verschiedene Füllwerte verwendest. Von daher bin ich mir nach wie vor sicher, dass dir unklar ist, was die Zahl in Klammern bei INT bedeutet. Und mit Binärrechnung hat mein Hinweis wenig zu tun, bis auf den Wertebereich, der nur noch mal zur Verdeutlichung erwähnt werden sollte.
__________________
Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)
dennis81 ist offline  
Alt 31.08.2010, 09:47  
Erfahrener Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 180
smilla befindet sich auf einem aufstrebenden Ast
Standard

Was auch sehr hilfreich ist, einfach mal nen Testform anzulegen und sich nach einen Testsubmit die Variablen anzeigen zu lassen. Dann sieht man auch sehr schnell wie das funktioniert

Muss ich z.B: jedes mal machen wenn ich eine Uploadanbindung baue, da dies so selten bei mir ist.
smilla ist offline  
Alt 31.08.2010, 10:08  
Neuer Benutzer
 
Registriert seit: 30.08.2010
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Gody1989 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@dennis81

Das hatte nur den Grund das ich die ersten selbst auf 8 gesetzt hatte und einmal es vergessen habe und da hat phpmyadmin glaub selbst die 11 eingesetzt gehabt und dann habe ich das als standard genommen

@smilla

Ist jah nicht so das ich nix ausprobiere ich lese neben bei ein Buch ( Einstieg in PHP 5.3 & MySQL 5.4 ) und guck mir ne Video2brain DVD an ( die das leider nicht behandet wie ich feststelle ) ein bin ich jetzt fix in sowas ( hatte es jah 2 Jahre ina schule mit nbote 'gut' - 'sehr gut' ) aba iwie hab ich gerade ne echt schlechte phase -.-
Gody1989 ist offline  
 


Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Filmdatenbank &amp; PHP OOP Lifestyle PHP Tipps 2010 13 19.08.2010 00:53
filmdatenbank suche PHP Tipps 2006 7 08.02.2006 14:59
[Erledigt] testdaten einer filmdatenbank Datenbanken 0 19.01.2005 22:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
xbmc deutsche filmdatenbank, filmdatenbank, xbmc filmdatenbank deutsch, eigene filmdatenbank php, filmdatenbank php, xbmc filmdatenbank, eigene filmdatenbank, deutsche filmdatenbank, filmdatenbank html, php filmdb, filme datenbank php, beste filmdatenbank xbmc, filmdatenbank externe festplatte, film genre tabelle, filmdatenbank mysql, filmdb php, php mysql filmdatenbank, mysql filmdatenbank, film genre datenbank, phpmyadmin filmdatenbank

Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum