Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Zwei Tabellen abfragen und in PHP ausgeben

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von archibaldpe, 9 Februar 2016.

  1. archibaldpe

    archibaldpe Neuer Benutzer

    Hallo "richtige" Programmierer,

    ich bin nur Hobbyprogrammierer und möchte etwas für unsere Schule machen. Eine Büchereiverwaltungstool. Soweit so gut.

    Aktuelles Problem:
    Ich würde gerne eine Abfrage machen, in der man sehen kann welche Bücher eine bestimmter SChüler ausgeliehen hat.
    Also man gibt die ID des Schülers ein z.B. 1 und auf der nächsten Seite soll dann stehen:

    Name: Max Mustermann
    Bücher:
    *) Das Buch vom Wind - ausgeliehen am 2.1.2016
    *) Das Buch vom Regen - ausgeliehen am 19.12.2015

    Ich hab mir da mal was zusammen gezimmert - komme aber mit der Ausgabe aus den zwei Tabellen nicht mehr weiter - echt zu schwierig für mich.

    ZUR INFO:
    habe folgende Tabellen:
    *) books - Hier stehen die Bücher drin ;-)
    *) user - Hier die Schüler
    *) borrow - Hier, wer was ausgeborgt hat.


    Ist mein Ansatz so richtig oder ist mein Ansatz völlig falsch!? Irgenwas stimmt aber nicht, da
    ich die Tabelle "borrow" nicht in der select Abfrage drin hab? Komisch?

    Würde mich über Antworten freuen. :) - Zumindest Denkanstösse wie ich das richtig aufbaue!

    Hier meine PHP - Datei:

    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="XHTML namespace">
    <head>
    </head>

    <body>
    <br />
    <?php

    $host 
    "************";
    $user "************";
    $pass "************";
    $db = ************";

    $searchstring = $_POST['search'];

    $connection = mysql_connect($host$user$pass) or die ("Unable to connect!");
    mysql_select_db(
    $db) or die ("Unable to select database!");

    $query = "SELECT user.lastnamebooks.Titel FROM userbooks WHERE user.id like '%$searchstring%'";

    $result = mysql_query($query) or die ("Error in query$query".mysql_error());
    $i = 1;

    ******AB HIER BIN ICH PLANLOS**********
    if (mysql_num_rows(
    $result) > 0) {
        echo "
    <table width='70%' border='1' align='center' border=1''>";
        while(
    $row = mysql_fetch_row($result)) {

            echo "
    <tr>";
       
            echo "
    <td>" .$row[1] ."</td>";
            echo "
    <td>" .$row[2] ."</td>";
       
            echo "
    </tr>";

            
    $i++;
        }
        echo "
    </table>";
    }
    else {
        echo "
    Keine passenden Ergebnisse für den Suchbegriff <b>" .$searchstring. "</bgefundenBitte versuchen Sie es erneut.";
    }
    mysql_free_result(
    $result);
    mysql_close(
    $connection);

    ?>
    <br />
    </body>
    </html>
     
    Zuletzt von einem Moderator bearbeitet: 10 Februar 2016
  2. akretschmer

    akretschmer Datenbank-Guru

    Um Dir mal das SQL zu zeigen, wie man mit 3 solcher Tabellen umgeht:

    Code:
    test=# begin;
    BEGIN
    test=# create table buecher(id int primary key, name text);
    CREATE TABLE
    test=# create table schueler(id int primary key, name text);
    CREATE TABLE
    test=# create table geborgt(buch_id int references buecher, schueler_id int references schueler, datum date);
    CREATE TABLE
    test=# select b.name as buch, s.name as schueler, g.datum from geborgt g left join buecher b on g.buch_id=b.id left join schueler s on g.schueler_id=s.id;
     buch | schueler | datum
    ------+----------+-------
    (0 rows)
    
    test=# rollback;
    ROLLBACK
    test=#
    
    Das als Grundgerüst für die Abfrage. Kannst Du mit einer Prise WHERE verfeinern, um gezielt zu suchen.

    Alles andere in Deiner Frage ist PHP-Gedöhns und hier in diesem Forum Off-Topic.

    Grüße aus London.
     
  3. archibaldpe

    archibaldpe Neuer Benutzer

    Vielen Dank akretschmer - werde mir das mal genauer anschauen. und bezgl. php muss ich dann ja leider woanders hin! Danke für die rasche Hilfe!!!!
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden