MySQL Datensätze per ID ausgeben

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

  • MySQL Datensätze per ID ausgeben

    Guten Tag,

    Ich versuche derzeit eine Suchfunktion zu bauen.
    Derzeit sind in der Datenbank 2 ID's vorhanden mit jeweils 9 Datensätzen + ID also insgesamt 10.
    Code:
    id     name     gebunden     art     material     werte     stufe     verwertung     gold     silber
    Geplant ist eine eine Datenbank - Auf der Startseite eine Suchfunktion - Die Ergebnisse werden auf einer neuen Seite ausgegeben jedoch soll dort schon Tooltip zur jeweiligen ID vorhanden sein.

    Beispiel:
    Ich suche nach "des".
    Ausgegeben in der Suche wird:


    das Tooltip soll aber jetzt erkennen bei welchem Link er welchen Tooltip von welcher ID anzeigen soll.
    Ich hoffe ihr versteht.

    Mein Code
    Bitte beachtet die Struktur nicht, da ich mehrere Codes miteinander verbunden habe. Nachdem es funktioniert werde ich alles reinigen.
    Ich habe die Suche schon hinbekommen mit folgendem Code:
    index.php
    PHP-Code:
    <html>
    <
    head>
        <
    title>Suche</title>
        
        <
    link rel="stylesheet"  href="style.css" type="text/css">
        
    </
    head>
    <
    body>
    <
    form action="index2.php" method="post">
        <
    div style="width: 149px; float:left;">
    <
    input type="text" name="suchbegriff"></div><div style="; margin-top:-6px;float: left;width:34px;"><input type="image" src="img/search.png" value="Suchen"></div>
    </
    form>
    </
    body>
    </
    html
    index2.php
    PHP-Code:
    <html>
    <head>
        <title>Datenbank</title>
        
            <link rel="stylesheet"  href="style.css" type="text/css">
            
    </head>
    <body>
    <?php
    $db_host 
    "localhost";
    $db_user "root";
    $db_pass "";
    $db_name "traumprojekt";
    $db mysql_connect($db_host$db_user$db_pass) or die ("Verbindung fehlgeschlagen");
          
    mysql_select_db($db_name$db) or die ("Verbindung zur Datenbank fehlgeschlagen");
    $select "select * from items where id=1";
    $result mysql_query($select,$db);


    $suche $_POST['suchbegriff'];
    // Verbindung oeffnen und Datenbank ausweahlen
    $conID mysql_connect$db_host$db_user$db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
    if (
    $conID)
    {
    mysql_select_db$db_name$conID );
    }

    $daten mysql_query('SELECT `name` FROM `items` WHERE `name` LIKE \'%'.$suche.'%\'' $conID); 
    while(
    $row=mysql_fetch_array($daten))
    {
    echo 
    "<a href=\"#hint\" class=\"tooltip\">".$row['name'] , "<br><span class=\"info\">";
    if(
    $result){
    echo 
    '<div id="top">';
    while(
    $row mysql_fetch_array($result)){
    echo 
    "<div class=\"title\">".$row['name']."</div>";
    echo 
    "<div class=\"bind\">".$row['gebunden']."</div>";
    echo 
    "<div class=\"what\">".$row['art']."</div>";
    echo 
    "<div class=\"stoff\">".$row['material']."</div>";
    echo 
    '<div id="space"></div>';
    echo 
    "<div id=\"middle\">".$row['werte']."</div>";
    echo 
    '<div id="space"></div>';
    echo 
    '<div id="bottom">';
    echo 
    "<div class=\"stufe\">Erfordert: Stufe ".$row['stufe']."</div>";
    echo 
    "<div class=\"verwertung\">Rüstung verwerten: ".$row['verwertung']."</div>";
    echo 
    "<div class=\"cost\">".$row['gold']." <img src=\"img/gold.gif\" alt=\"gold\" style=\"border: 0;\"> ".$row['silber']." <img src=\"img/silber.gif\" alt=\"silber\" style=\"border: 0;\"></div>";
    echo 
    "</div>";
    }
    echo 
    '</div>';
    }
    echo 
    "</span></a>";  
    }
    ?> 
    </body>

  • #2
    Hallo,

    ich habe es leider nciht verstanden. Zum Teil liegt das daran, dass du schon begrifflich manches durcheinanderwirfst. In einer Tabelle befinden sich mehrere Datensätze (Zeilen). Jeder Datensatz hat mehrere Attribute (Spalten). Ich vermute mal, du meinst mit ID einen Datensatz und mit Datensatz ein Attribut.

    Dein Code ist nicht forenregelkonform umgebrochen (empfohlen 80 Zeichen, maximal 100 Zeichen pro Zeile), so dass man quer scrollen muss.

    Schaffst du es, deine Frage so zu formulieren, dass man sie nachvollziehen kann, ohne den ganzen Code lesen zu müssen?

    Was genau meinst du z. B: mit Tooltip? Ich kann in dem Code nirgends ein title-Attribut entdecken.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      In Ordnung, dachte ich mir ^^

      Es soll eine Datenbank zu einem Spiel werden.
      Er sucht nach einem text wie z.B den Artikel "des" innerhalb der Tabelle "items" unter "Name".
      Dafür eben diese Zeile:
      [COLOR=#000000][COLOR=#CC0000]SELECT `name` FROM `items` WHERE `name` LIKE \'%'[/COLOR][COLOR=#006600].[/COLOR][COLOR=#0000CC]$suche[/COLOR][COLOR=#006600].[/COLOR][COLOR=#CC0000]'%\''[/COLOR][/COLOR]
      [COLOR=#000000][COLOR=#CC0000][/COLOR]

      Danach soll er mir die Ergebnisse ausgeben:
      Ergebnis 1
      Ergebnis 2

      Mit Tooltip meine ich, dass der Inhalt vom Tooltip ein bestimmter HTML Inhalt ist, der ausgegeben werden soll mit Informationen aus der Datenbank.
      Jedoch welche er Daten er ausgeben soll soll er von selbst durch die ID rausfinden.
      [/COLOR]

      Kommentar


      • #4
        Zitat von Ravelux Beitrag anzeigen
        Jedoch welche er Daten er ausgeben soll soll er von selbst durch die ID rausfinden.
        Bis auf diesen Satz, glaube ich, alles verstanden zu haben. Willst du den gesamten Datensatz haben (also mit allen Feldern), nimm einfach

        Code:
        SELECT id, name, gebunden, art -- u. s. w.
        FROM items
        WHERE name LIKE '%...%'
        das ... verkettest du aber bitte nochmal neu mit $suche und zwar so, dass keine SQL-Injections möglich sind (siehe PHP: mysql_real_escape_string - Manual).
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Vielen Dank, werde mich mal damit auseinandersetzen.

          Kommentar


          • #6
            Erstmal bearbeitest du bitte deinen ersten Beitrag und brichst endlich den Code um. Nochmal weise ich dich nicht darauf hin.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar

            Lädt...
            X