Muss noch ein Tool in mein script einbauen und hab ne Frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Muss noch ein Tool in mein script einbauen und hab ne Frage

    Hallo,
    jetzt hab ich noch ein Problem,
    ich hab da das Bibliotheksscript für unsere Schule und will jetzt noch einbauen,dass man wenn man das Buch ausgeliehen hat sein klassenzimmer auswählen kann(rollout) und sozusagen den neuen standort des Buches mit dem Buch abspeichern kann.(wenn man es ausleiht)
    Dazu muss ich in das Formular unter dem Buch das angezeigt wird, wenn
    ich ein Buch gefunden habe einen Link einbauen,
    wo man dann den neuen standort auswählen und speichern kann.(default soll bibliothek sein)
    Das Problem ist: Ich habe jetzt ein input.php(zum registrieren neuer bücher), ein find.php(zeigt dann gefundene Bücher an), aber ich weiß nicht wie ich das jetzt noch da einbetten kann.
    Als Dateisystem hab ich mir vorgestellt: Eine Tabelle mit
    RaumID und Raum und eine rel_raumID_BuchID Tabelle.
    Wär cool wenn mir jemand bei der Realisierung meines kleinen
    tools helfen könnte.

    Mfg

    Matthias

    PS:Hab hier nochne Idee um Kategorien zu bilden und aus nem Buch
    son hierarisches Listenfeld gefunden, check aberdie Funktionsweise nicht:
    catID catName parentCatID hierNr hierIndent
    Bearbeiten Löschen 1 Computer books 11 1 1
    Bearbeiten Löschen 2 Databases 1 2 2
    Bearbeiten Löschen 3 Programming 1 6 2
    Bearbeiten Löschen 4 Relational Databases 2 4 3
    Bearbeiten Löschen 5 Object-oriented databases 2 3 3
    Bearbeiten Löschen 6 PHP 3 8 3
    Bearbeiten Löschen 7 Perl 3 7 3
    Bearbeiten Löschen 8 SQL 2 5 3
    Bearbeiten Löschen 9 Children's books 11 9 1
    Bearbeiten Löschen 10 Literature and fiction 11 10 1
    Bearbeiten Löschen 11 All books NULL 0 0

    Angezeigt von phpmyadmin-

  • #2
    also wenn ich das richtig verstehe soll man nachdem man ein buch hat, die klasse angeben.

    Mach doch so: Wenn der das Buch hat, kann er entweder ein weiteres buch auswählen (wie warenkorb) oder er klickt auf weiter >>

    dann wird die ID des Buches übergeben und er bekommt n neues form, da wählt er die klasse aus, und es geht weiter, du übermitteslst die buch id und das klassen zimmer und trägst ein, dann noch ne end message und fertig.

    meinst du das so???
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Es soll so funktionieren bzw. deine Idee ist nicht schlecht:
      User sucht Buch->
      Anzeigeformular:Buch XXx,Autor XXX,Verlag XXXusw.
      Link:"Buch ausleihen"
      Nun könnte neben jedem Buch ein kästchen zum ankreuzen sein, das man
      ankreuzt wenn man das Buch entleiht, dieses Kästchen sollte neben jedem
      Buchtreffer vorhanden sein;wobei die Bücher einfach untereinander
      aufgelistet werden.
      Am Ende jeder Seite könnte ein rollout sein mit dem namen
      aller Schüler der Klasse.Derjenige, der ein Buch entleihen will, markiert
      das zu entleihende buch mit nem Kreuz , am Ende der Seite
      wählt er seinen Namen aus und drückt "entleihen".Damit
      wird die ID des Buchs übergeben und mit seinem namen verknüpft.
      Dazu bräuchte ich jetzt aber 2 Tabellen, weil einer ja mehrere Bücher entleihen kann. Also eine NameId Name Tabelle und eine BuchID-NameID
      Tabelle.
      Könnte das gehen?


      Matthias

      Kommentar


      • #4
        jo:

        also die User Tabelle sind daten des Users drin und in der Buch Tabelle der Autor kram, ID bla bla und dann dahinter der User, der das buch ausleiht.

        Dat geht, und dein problem wäre gelöst.

        User Table:

        create table user ( id INT NOT NULL AUTO_INCREMENT,
        Primary Key (id),
        user VARCHAR(100),
        vorname VARCHAR(100),
        klasse VARCHAR(100)
        );

        create table buch ( id INT NOT NULL AUTO_INCREMENT,
        Primary Key (id),
        buch VARCHAR(100),
        autor VARCHAR(100),
        user VARCHAR(100)
        );

        so ungefair
        Zuletzt geändert von Benny-one; 24.06.2003, 16:02.
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          Ok,
          das ist alles soweit klar.
          Aber ich dachte so wärs schlauer:

          table Buch(bei mir titel) existiert schon.
          Bezugspunkt ist die fortlaufende BuchID.

          dann:
          create table user

          userId int not null auto_increment,
          name varchar(100) not null,
          vorname varchar(100) not null,
          primary Key(userID);

          create table relation_userID_BuchID

          userID int not null,
          buchID int not null;

          Jetzt kann einer auch mehrere Bücher entleihen.
          Dann brauch ich noch die Markierpunkte neben den ausgegebenen
          Büchern und das User Rollout und den Entleihbutton, der alles
          speichert.
          Die Frage ist jetzt wie ich das ganze in meine zwei
          skripte einbau, das ist für mich das eigentliche Problem,
          wär cool wenn du mir helfen könntest.

          Herzlich
          Matthias

          Kommentar


          • #6
            jo, also wir sagen mal so, der user hat jetzt ein Buch, und will Ausleihen klicken:

            dann kannst du es so machen, neue Datei oder gleiche Datei:

            neue Datei:

            fertig

            gleiche datei:

            da machst du z.B. ne abfrage
            if($buchwahl==true){

            abfage user (wenn nicht übergeben)

            abfrage buch

            insert into relation_userID_BuchID user und buch



            }
            else{
            Buch auswahl

            <a href="<? echo $SELF_PHP; ?>?buchwahl=true">Buch ausleihen</a>

            }


            so könnte das sein, übernimm net den code, da sind parse fehler drin
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              Ok,die Tabellen sindangelegt, jetzt weiter?

              Hallo,
              so die Tabellen hab ich wie oben beschrieben angelegt:
              Hier der Code den ich zur Anzeige der Ergebnisse benutze:

              PHP-Code:

              // show search results
              if(!empty($sql)) {
                if(
              $sqlType=="author") {

                  
              // show authors
                  
              $result mysql_query($sql);
                  if(!
              $result or !mysql_num_rows($result))
                    echo 
              "<p>No results.\n";
                  else {
                    echo 
              "<hr><ul>\n";
                    while(
              $row mysql_fetch_object($result)) {
                      echo 
              "<li>"
                        
              build_href("./find.php"
                                   
              "sqlType=title&authID=$row->authID"
                                   
              last_name_last($row->authName)), 
                        
              "</li>\n";
                    }
                    echo 
              "</ul>\n";
                  }  
                }

                
              // show titles
                
              elseif($sqlType=="title") {
                  
              // just in case it is still here: drop tmpTitleIDs
                  
              mysql_query("DROP TABLE IF EXISTS tmpTitleIDs");
                  
              // create new table with title IDs
                  
              mysql_query($sql);
                  if(!
              mysql_affected_rows()) {
                    echo 
              "<p>No results.\n";
                  }
                  else {
                    
              // querys for complete title data
                    
              $result1 mysql_query
                      
              ("SELECT titles.titleID AS titleID, " .
                       
              "       titles.title AS title, " .
                       
              "       titles.subtitle AS subtitle, " .
                       
              "       titles.edition AS edition, " .
                       
              "       titles.year, " .
                       
              "       titles.isbn, " .
                       
              "       titles.comment, " .
                       
              "       publishers.publName AS publisher, " .
                       
              "       publishers.publID, " .
                       
              "       categories.catName AS category, " .
                       
              "       languages.langName AS language " .
                       
              "FROM titles JOIN tmpTitleIDs" .
                       
              "     LEFT JOIN categories ON titles.catID = categories.catID " .
                       
              "     LEFT JOIN languages ON titles.langID = languages.langID " .
                       
              "     LEFT JOIN publishers ON titles.publID = publishers.publID " .
                       
              "WHERE titles.titleID = tmpTitleIDs.titleID");

                    
              // query for authors
                    
              $result2 mysql_query
                      
              ("SELECT tmpTitleIDs.titleID, rel_title_author.authID, " .
                       
              "       authName AS author " .
                       
              "FROM authors, rel_title_author, tmpTitleIDs " .
                       
              "WHERE authors.authID = rel_title_author.authID " .
                       
              "  AND rel_title_author.titleID = tmpTitleIDs.titleID " .
                       
              "ORDER BY rel_title_author.authNr, authName");

                    
              // copy authors into array
                    
              while($row mysql_fetch_object($result2)) {
                      
              // seperate authors by a comma
                      
              if($authors[$row->titleID]) 
                        
              $authors[$row->titleID] .= ", ";
                      
              // add author to author's list; because of ORDER BY clause
                      // in the SQL statement the authors are ordered correctly
                      
              $tmp build_href("./find.php"
                                        
              "sqlType=title&authID=$row->authID"
                                        
              last_name_last($row->author));
                      
              $authors[$row->titleID] .= $tmp;
                    }

                    
              // show title list
                    
              echo "<hr><ul>\n";
                    
              $titlecount=0;
                    while(
              $row mysql_fetch_object($result1)) {
                      
              $titlecount++;
                      if(
              $titlecount<=$pagesize) {
                        if(
              $row->publisher)
                          
              $publref build_href("./find.php"
                                                
              "sqlType=title&publID=$row->publID"
                                                
              $row->publisher);
                        
              // title
                        
              echo "<p><li>"$authors[$row->titleID], ": ",
                          
              "<b>"htmlentities($row->title), "</b>",
                          
              $row->subtitle ", " htmlentities($row->subtitle) . " " "",
                          
              $row->publisher || $row->year "<br>" ""
                          
              $row->publisher $publref "",
                          
              $row->year ", " htmlentities($row->year) . " " "",
                          
              $row->edition "<br>Edition: " htmlentities($row->edition) ." " "",
                          
              $row->isbn "<br>ISBN: " htmlentities($row->isbn) . " " "",
                          
              $row->language "<br>Language: <i>" htmlentities($row->language) . "</i> " "",
                          
              $row->category "<br>Category: <i>" htmlentities($row->category) . "</i> " "",
                          
              $row->comment "<br>Comment: <i>" htmlentities($row->comment) . "</i> " "",
                          
              "</li>\n";
                      }
                    }
                    echo 
              "</ul>\n";
                  
                  } 
              // else block for if(!mysql_affected_rows())
                  // drop temporary database
                  
              mysql_query("DROP TABLE IF EXISTS tmpTitleIDs"); 
              Wie kann ich erreichen dass neben jedem Titelerrgebnis bzw.
              Ergebnis ein kästchen zum Markieren erscheint, dass späterauswerten kann?

              Matthias

              Kommentar


              • #8
                warum nennst du jede tabelle und machst nicht einfach ein * ??

                du machst variablen z.B,.

                while(){
                irgend ein code und dann hier das kästchen mit der variable

                a$aus_dem_array_der_tabelle_die_id_fuer_die_variable


                }so machst du das, und auf der nächsten seite fragst du die kästchen ab. Um zu wissen wie viel kästchen du hast nimmst du mysql_num_rows($select)

                und dann halt per schleife prüfen ob gesetzt ist oder nicht
                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar


                • #9
                  Keine Ahnung wie du das meinst

                  Also so ganz versteh ich deinen Ansatz nicht.
                  Ich will ja das Bücherausleihen auf der selben seite machen, die von php
                  ausgegeben wird wenn ich bücher gefunden habe.

                  Matthias

                  Kommentar


                  • #10
                    Habs jetzt so gemacht:

                    PHP-Code:
                    echo '<form action="ergebnisse.php" method="post">'//testzeile


                          // show title list
                          
                    echo "<hr><ul>\n";
                          
                    $titlecount=0;
                          while(
                    $row mysql_fetch_object($result1)) {
                            
                    $titlecount++;
                            if(
                    $titlecount<=$pagesize) {
                              if(
                    $row->publisher)
                                
                    $publref build_href("./find.php"
                                                      
                    "sqlType=title&publID=$row->publID"
                                                      
                    $row->publisher);
                                       
                    // title
                              
                    echo "<p><li>"$authors[$row->titleID], ": ",
                                
                    "<b>"htmlentities($row->title), "</b>",
                                
                    $row->subtitle ", " htmlentities($row->subtitle) . " " "",
                                
                    $row->publisher || $row->year "<br>" ""
                                
                    $row->publisher $publref "",
                                
                    $row->year ", " htmlentities($row->year) . " " "",
                                
                    $row->edition "<br>Edition: " htmlentities($row->edition) ." " "",
                                
                    $row->isbn "<br>ISBN: " htmlentities($row->isbn) . " " "",
                                
                    $row->language "<br>Language: <i>" htmlentities($row->language) . "</i> " "",
                                
                    $row->category "<br>Category: <i>" htmlentities($row->category) . "</i> " "",
                                
                    $row->comment "<br>Comment: <i>" htmlentities($row->comment) . "</i> " "",
                                
                    "</li>\n";
                            
                            }
                            echo 
                    "<br><b>Buch ausleihen:</b >",'<input type="checkbox" name="Marker">',"</ br>"//Testzeile
                          
                    }
                          echo 
                    "</ul>\n"
                    Jetzt müsst ich nur noch wissen wie ich dafür sorge, dass meine Checkbox
                    mir dann nachher die titelID übermittelt?

                    Matthias

                    Kommentar

                    Lädt...
                    X