Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Nur bestimmte Daten aus Datenbank anzeigen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Nur bestimmte Daten aus Datenbank anzeigen

    Ich habe mal folgenden Code:

    PHP-Code:
    <?php

    //Connect
    $conn mysql_connect('localhost''datenbank''passwort');
    mysql_select_db('datenbank'$conn);
    mysql_set_charset('UTF-8'$conn);
     
    $sql "select * from tabelle";
     
    //Ausführen des Statements und evtl. Fehlerbehandlung mit 'die'
    $result mysql_query($sql) or die (mysql_error());
     
    //Anzahl der Datensätze ermitteln
    $row_count mysql_num_rows($result);


    echo 
    "<ol>";
    while(
    $row mysql_fetch_assoc($result)) {
        echo 
    "<li><a href='#'> " $row['buchtitel'] . "</a></li>";
    }

    echo 
    "</ol>";

    ?>
    In einem Login-Logout-Script ist dazu noch der Username ($user_name) deklariert. Meine Datenbank dazu hat folgende Struktur:

    ID - Username - Buchtitel



    Mein Problem ist, dass ich nur die Datensätze anzeigen möchte, in denen der jeweilige $user_name gespeichert ist. Also soll User1 seine Einträge sehen, und User2 seine.

    Ich hoffe ich habe mich verständlich ausgedrückt. Falls das zu verwirrend ist, könnt ihr ja jederzeit fragen. Zudem bin ich noch ein relative Anfänger. Daher bitte ich, so weit es möglich ist, sich so einfach wie Möglich auszudrücken. Evt. mit Code-Beispielen.


    Danke für eure Mühe im voraus.


    Lg mmoerth


  • #2
    Stell am besten gleich auf PDO um. die mysql_*-Funktionen werden bei PHP demnächst entfernt.
    PHP-Code:
    $dbObject = new PDO(
            
    'mysql:host=localhost;dbname=datenbank;charset=utf8',
            
    $dbUserName,
            
    $dbUserPassword
        
    );

    $stmnt $dbObject->prepare'SELECT Buchtitel FROM tabelle WHERE Username=?' );
    $stmnt->bindParam1$user_namePDO::PARAM_STR );
    $stmnt->execute();

    $aBooks = array();

    while ( 
    $row $stmnt->fetch(PDO::FETCH_OBJ) ) {

        
    $aBooks[] = '<li><a href="#">' $row->Buchtitel '</a></li>';

    }

    echo 
    '<ol>' implode$aBooks ) . '</ol>'
    Übrigens solltest Du das ganze anhand der ID machen und nicht des Usernames.
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Erstmal PDO oder mysqli_ Ansehen, mysql_ ist veraltet.

      PHP-Code:

      $query 
      "SELECT `Buchtitel` FROM tabelle WHERE `Username` = '$username'"
      - Laravel

      Kommentar


      • #4
        Code:
        WHERE
        Und mysql_ ist veraltet, wird bald nicht mehr funktionieren: http://php-de.github.io/jumpto/faq/#deprecated-mysql (ganz unten).
        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Moin,

          als kleine Ergänzung.
          Um zu üben könntest du dir folgende Tutorials mal ansehen: http://www.peterkropff.de/site/tutorials/php_mysql.htm
          Parallel dazu dann noch: http://www.peterkropff.de/site/php/pdo.htm Damit du die mysql_* Funktionen gleich durch PDO ersetzen kannst.
          Relax, you're doing fine.
          RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

          Kommentar


          • #6
            Danke einmal für eure Hilfe.

            Ich habe nur eines vergessen zu erwähnen. Das Login-Logout-Script speichert den Username in der Tabelle "users". Für die Buchtitel habe ich zudem noch eine Tabelle "buchprojekte" angelegt.

            Jetzt möchte ich, dass der User (der in der Tabelle "users" angelegt ist), nur seine Buchprojekte angezeigt bekommt, die in der Tabelle "buchprojekte" zu finden sind.

            Die Struktur der Buchprojekte habe ich in meinem ersten Post schon angegeben. Jedoch weiß ich nicht genau, wie ich das in dieser Form realisiere, um zwei Tabellen miteinander zu vergleichen.

            Bräuchte ich hier zusätzlich eine IF-Abfrage, oder wäre das einfacher zu lösen?


            EDIT: Habe es gerade eben auf PDO umgestellt.

            Kommentar


            • #7
              Jetzt möchte ich, dass der User (der in der Tabelle "users" angelegt ist), nur seine Buchprojekte angezeigt bekommt, die in der Tabelle "buchprojekte" zu finden sind.
              Zitat von hausl Beitrag anzeigen
              Code:
              WHERE
              PHP-Code:
              $query "SELECT `Buchtitel` FROM tabelle WHERE `Username` = '$username'"
              Oder was ist konkret dein Problem?

              LG
              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                Das Script aus #2 sollte das so machen, hast Du das probiert?
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  Habe ich probiert. Jedoch ohne Ausgabe - aber auch keine Fehlermeldung

                  Kommentar


                  • #10
                    Deutet auf mangelnden Error-Reporting hin.
                    Entgegen der Meinung anderer solltest Du mal zwecks Fehler-Einblendung das hier an den Anfang Deines Scriptes setzen:
                    PHP-Code:
                    error_reporting ( -);
                    ini_set'display_errors'true ); 
                    Dann zeigt er vielleicht Fehler an.
                    Ich habe das im Forum-Editor zusammengetippert, da kann es schon mal sein, daß ein kleiner Fehler drin ist...
                    Competence-Center -> Enjoy the Informatrix
                    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                    Kommentar


                    • #11
                      Ebenfalls keine Ausgabe :/

                      irgendwie eigenartig...

                      Kommentar


                      • #12
                        Willkommen im Forum,

                        zeig mal deinen Code.
                        Relax, you're doing fine.
                        RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                        Kommentar


                        • #13
                          Schau mal in den Browser-Quelltext, erscheint dort zumindest das <ol></ol>?
                          Competence-Center -> Enjoy the Informatrix
                          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                          Kommentar


                          • #14
                            1. Dreh mal das PDO error reporting hoch, ev. brings das ja was.

                            PDO::ERRMODE_SILENT
                            This is the default mode ...
                            http://php.net/manual/en/pdo.error-handling.php Siehe unten bei "Example1".
                            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                            PHP.de Wissenssammlung | Kein Support per PN

                            Kommentar


                            • #15
                              Zitat von Arne Drews Beitrag anzeigen
                              Schau mal in den Browser-Quelltext, erscheint dort zumindest das <ol></ol>?
                              ja, das zeigt er zumindest an.

                              Kommentar

                              Lädt...
                              X