4Danke
ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
344
344
EMPFEHLEN
-
27.10.11 11:59 #1
- Registriert seit
- Aug 2011
- Ort
- Nähe Köln (NRW)
- Beiträge
- 46
Hallo liebe Freunde der Sonne
,
ich habe manchmal Ideen die am Anfang scheinen leicht zu sein -> draus folgt das die am Ende immer schlimmer und schlimmer werden
.
Ich habe mir vorgenommen einer Bücherei (in kleiner Gemeinde ) zu helfen, da die Ihre Bücher immer noch auf den Kärtchen haben und jedes mal alles von der Hand eintragen müssen.
IFNO VOR AB
! ich bin Anfängern i php und mysql !
Habe mir gedacht das ich mir als ersten 5 verschiedene Tabellen in einer Datenbank erstellen werde .- Bücher Tabelle = bücher habe eine 4 stellige ID (zahlen & buchstaben)
Person Tabelle = Personen werden eine 5 stellige ID kriegen ( zahlen )
Ausgabe am ( timestamp ausgabe zeit ) Tabelle
Rückgabe am ( timestamp gekrigt am zeit ) Tabelle
Verarbeitung Tabelle
Bücher Tabelle (spalten)
-id-name des buches
Personen Tabelle (spalten)
-id-name-vorname-
Ausgabe am Tabelle (spalten)
-zeit Timestamp - (weiter brauche ich Hilfe bei der Logik )
Rückgabe gekriegt am Tabelle (spalten)
-zeit Timestamp - (weiter brauche ich hilfe bei der Logik )
Verarbeitung Tabelle
so jetzt kommen wir zu meiner Problem Tabelle!
-hier will ich eine Verarbeitung Tabelle erstellen
-in der muss ich die Sachen von der Bücher Tabelle, Personen Tabelle , Ausgabe zeit und die Rückgabe Zeit bearbeiten können
Mein Problem ist das ich nicht weiß ob meine Logik bei der Aufstellung der Tabellen richtig ist und wenn ja dann welche Spaltennamen ich für die Tabellen Ausgabe und Rückgabe noch einfügen soll!
Es soll noch die Möglichkeit geben den Timestamp der Tabelle Rückgabe zu verändern, wenn der Kunde das buch noch z.b. eine Woche lang Lesen will.
Ich brauche die Hilfe bei der Aufstellung der Logik und die Verbindung von mehreren Tabellen der Datenbank.
Danke im Voraus.
PS. Wenn Grammatik Fehler da sind sorry wohne nicht lange hier
Gruß Aleks
-
27.10.11 12:17 #2
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Tabelle Bücher
- Nummer (eignene Nummer der Bücherrei)
- ISBN Nummer (wäre vielleicht ganz nützlich)
- Titel
- Autor
Tabelle Kunden
- Nummer
- Vorname
- Nachname
- Strasse
- Postleitzahl
- Ort
- Telefon
- Geburtsdatum (falls es FSK ab 18 Bücher oder so etwas gibt)
Tabelle Verarbeitung
- Buchnummer
- Von
- Bis
- Kundennummer
Das sollte doch eigentlich reichen, wobei es sicher noch einige Felder geben dürfte die nützlich wären.
Beispielsweise die Altersfreigabe, oder ein Sperrvermekr beim Kunden wenn er schon mehrmal Bücher nicht pünktlich abgegeben hat, oder, oder, oder.
Wie du die Felder nennst, bleibt dir überlassen. Die Namen sollten halt klarmachen wofür sie stehen. Bei der Tabelle "Verarbeitung" könntest du eventuell noch ein Feld "Status" (0 = verliehen - 1 = reserviert) aufnehmen.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Ich würde es über 3 Tabellen lösen
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
[buecher] id | titel ------------- 1234 | Buch 1 1765 | Buch 2 5897 | Buch 3 [kunden] id | familienname ------------------ 32 | Kunde 1 25 | Kunde 2 240 | Kunde 3 234 | Kunde 4 [ausleihe] buch_id | kunde_id | ausleihe | rueckgabe -------------------------------------------- 1234 | 32 | 2011-10-26 | NULL //Buch 1234 ist noch ausgeleihen 1765 | 234 | 2011-09-25 | 2011-10-15 //Buch 1765 ist wieder zurück
Hier einige einfache Beispiele wie man das Konstrukt nachher auswerten kann
Herausfinden welche Bücher ausgeleihen sind (und bei wem)
Code sql:1 2 3 4 5 6 7 8 9 10 11 12
SELECT buecher.id, buecher.titel, kunde.familienname FROM ausleihe INNER JOIN buecher ON ausleihe.buch_id = buecher.id INNER JOIN kunden ON ausliehe.kunde_id = kunden.id WHERE ausliehe.rueckgabe = NULL;
Herausfinden welche Bücher länger als ein Monat ausgeliehen sind
Code sql:1 2 3 4 5 6 7 8 9 10 11
SELECT buecher.id, buecher.titel, kunde.familienname FROM ausleihe INNER JOIN buecher ON ausleihe.buch_id = buecher.id WHERE ausliehe.rueckgabe = NULL AND DATEDIFF(NOW(), ausleihe.ausliehe) > 31;
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
27.10.11 12:39 #4
- Registriert seit
- Aug 2011
- Ort
- Nähe Köln (NRW)
- Beiträge
- 46
Wow Danke tombe, Yaslaw
so eine schnell Antwort habe ich nicht erwartet! und eure Lösungen mit 3 Tabellen sind mir auch erst sehr spät eingefallen.
in meinem Fall wird es nicht gebraucht, weil es so was nicht gib.
Zitat von tombe
Aber wenn mann es in der Großen Bücherei verwenden wollte sollte man wirklich ALLE deine angaben Beachten.
Yaslaw du hast Gewonnen
,
ich werde dein Lösung mir als Denkanstoß vornehmen und es verwenden!
Aber auch einige Sachen von dem tombe werde ich auch übernehmen z.B.Noch mal DANKE
Zitat von tombe
Gruß Aleks
-
27.10.11 12:50 #5
- Registriert seit
- Aug 2011
- Ort
- Nähe Köln (NRW)
- Beiträge
- 46
Yaslaw frage wie Fügt mann die Kunde_id und gleichzeitig buch_id in eine Tabelle?
Ich soll die angaben doch aus den Vorherigen Tabellen entnehmen.
Kann ich vll. noch ein code-schnipsel der das macht von dir haben?
Danke im Voraus
Gruß AleksGeändert von andreano (27.10.11 um 13:07 Uhr)
-
27.10.11 13:13 #6Code sql:
1
INSERT INTO `tabelle` (`kunde_id`,`buch_id`) VALUES ('1234','12345)
WEnn ich dich richtig verstanden habe.Die Schweine von heute sind unsere Schnitzel von morgen!
-
27.10.11 13:13 #7
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Na zuerst wählst du ja das Buch irgendwie aus, die Nummer steht dann z.B. in einem Textfeld. Dann gibst du die Kundennummer ebenfalls in ein Textfeld ein (oder wählst sie aus einer Liste aus).
Wenn alles erfasst ist, schickst du das Formular ab und diese beiden Werte übernimmst du dann in die SQL-Anweisung.
PHP-Code:$buch = mysql_real_escape_string($_POST["buch_nummer"]);
$kunde = mysql_real_escape_string($_POST["kunde_nummer"]);
$sql = "INSERT INTO tabelle (buch, kunde) VALUES('" .$buch ."', '" .$kunde ."')";
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
27.10.11 13:18 #8
- Registriert seit
- Aug 2011
- Ort
- Nähe Köln (NRW)
- Beiträge
- 46
Für den Anfang habe ich genug info!
DANKE an alle beteiligten!
Ps. Frage wenn ich jetzt den Thead schließe und dann später noch ein frage habe kann ich den wieder aufmachen?
Oder muss ich ein neues erstllen?
-
27.10.11 13:30 #9
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Also wenn das hier erledigt ist, würde ich später einen neuen Beitrag aufmachen. Dort eventuell einen Link zu diesem Beitrag wenn es hilft.
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
27.10.11 13:40 #10
- Registriert seit
- Aug 2011
- Ort
- Nähe Köln (NRW)
- Beiträge
- 46
-
27.10.11 13:47 #11
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Wie du verstehst das nicht. Ist doch die Antwort auf deine Frage.
Wenn hier in diesem Beitrag alle Fragen beantwortet wurden, dann markieren ihn als erledigt.
Wenn du morgen, in einer Woche, in einem Monat (oder auch in 10 Minuten) eine neue/andere Frage hast, dann würde ich an deiner Stelle einen neuen Beitrag erstellen da es dann ja um eun neues/anderes Thema geht.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
27.10.11 14:00 #12
- Registriert seit
- Aug 2011
- Ort
- Nähe Köln (NRW)
- Beiträge
- 46
so jetzt habe ich es VERSTADEN !
haha Also Thema CLOSE
Danke an Alle beteiligten!
Ähnliche Themen
-
VB.NET mehrere Klassen verknüpfen
Von 123bernie123 im Forum .NET DatenverwaltungAntworten: 6Letzter Beitrag: 11.01.11, 14:53 -
MySQL - Tabellen für mehrere Werte verknüpfen
Von darkpriest im Forum Relationale DatenbanksystemeAntworten: 9Letzter Beitrag: 12.06.09, 20:30 -
Mehrere Tabellen verknüpfen
Von tiede im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 30.10.08, 21:22 -
Mehrere Tabellen verknüpfen
Von Erks im Forum Relationale DatenbanksystemeAntworten: 11Letzter Beitrag: 25.01.08, 14:35 -
Mehrere Tabellen verknüpfen
Von Erks im Forum PHPAntworten: 2Letzter Beitrag: 24.01.08, 17:30





Zitieren



Login






[PHP][Snippet] Array zu XML konvertieren