Ergebnis 1 bis 9 von 9

Thema: Datenbank Abfrage mit DropdownMenü

  1. #1
    Teeny
    Registriert seit
    20.08.2012
    Beiträge
    20
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Ausrufezeichen Datenbank Abfrage mit DropdownMenü

    Hallo Leute.
    Ich bin ein völliger Anfänger wenn es um MySql geht, deshalb beschäftige ich mich zurzeit mit einigen Tutorials. Was ich nun hinkriege ist eine Gästebuch funktion bzw. Ich schreibe einen text, schicke diesen ab, und der text erscheint auf der seite des gästebuch, und bleibt dann auch dort. Sobald ich wieder einen eintrag schreibe reiht er sich über den ersten Eintrag. Soweit so gut.

    Nun zu meinem Problem:
    Ich habe eine DB Tabelle mit ca 100 Datensätze in phpmyadmin importiert. Die Daten haben alle eine eigene aufsteigende ID (von 1 - 100).
    Auf meiner Homepage habe ich ein List-Menü mit mehreren Werten. Ich möchte gerne das wenn der User sich den Wert "1" auswählt und auf senden klickt, dann die erste reihe der Tabelle ausgegeben wird, und wenn der User den Wert "2" auswählt, wird die zweite Reihe ausgegeben usw.

    Habe bis jetzt in google nichts gefunden, wäre euch wirklich sehr dankbar.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datenbank Abfrage mit DropdownMenü

    Hört sich an wie eine Blätternavigation. Dafür bräuchtest du ein LIMIT in der SQL Abfrage:
    Die LIMIT-Klausel kann zur Beschränkung der Anzahl der von der SELECT-Anweisung zurückgegebenen Datensätze verwendet werden. LIMIT nimmt ein oder zwei numerische Argumente entgegen, die (außer bei Verwendung vorbereiteter Anweisungen) beide nichtnegative Integer-Konstanten sein müssen.
    Von den beiden Argumenten gibt das erste den Versatz des ersten zurückzugebenden Datensatzes an, das zweite die maximale Anzahl zurückzugebender Datensätze. Der Versatz des ersten Datensatzes ist 0 (nicht 1):

    SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15Um alle Datensätze beginnend bei einem bestimmten Versatz bis zum Ende der Ergebnismenge zurückzugeben, können Sie als zweiten Parameter eine sehr große Zahl angeben. Die folgende Anweisung ruft alle Datensätze beginnend beim 96. bis zum letzten Datensatz ab:

    SELECT * FROM tbl LIMIT 95,18446744073709551615;Sofern nur ein Argument angegeben ist, gibt der Wert die Anzahl der Datensätze an, die beginnend beim ersten Datensatz zurückgegeben werden sollen:

    SELECT * FROM tbl LIMIT 5; # Retrieve first 5 rowsAnders gesagt, ist LIMIT row_count äquivalent zu LIMIT 0, row_count.
    Bei vorbereiteten Anweisungen können Sie Platzhalter verwenden. Die folgende Anweisung gibt genau einen Datensatz aus der Tabelle tbl zurück:
    Quelle: http://dev.mysql.com/doc/refman/5.1/de/select.html


    Du definierst einfach zwei Variablen:
    PHP-Code:
    <?php
    $epp 
    10# anzahl pro seite
    $offset = (int) $_GET['offset'];


    $sql "SELECT `text`, `titel` FROM `tabelle` ORDER BY datum DESC LIMIT $offset$epp";
    mysql_query($sql);
    ?>
    Damit kannst du dann gewisse Abschnitte deines Gästebuchs anzeigen

    Die Liste mit den Links zu den einträgen versiehst du mit einem Parameter, in diesem Beispiel offset
    HTML-Code:
    <ul>
    <li><a href="gaestebuch.php?offset=0">seite 1</a></li>
    <li><a href="gaestebuch.php?offset=1">seite 2</a></li>
    <li><a href="gaestebuch.php?offset=2">seite 3</a></li>
    </ul>

    und dann sollte es schon klappen.
    Gruß crAzywuLf

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    20.08.2012
    Beiträge
    20
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datenbank Abfrage mit DropdownMenü

    Danke crAzywuLf für deine Antwort.
    Zu erst. Sorry dass ich mich erst jetzt melde, hatte den Kopf voll und konnte daran nicht mehr arbeiten.
    Ich versuchte dass nun so umzusetzen, wie du es beschrieben hast. Leider ist das aber nicht genau dass was ich mir vorstelle.
    Vielleicht nochmals zur erklärung.

    Ein Freund von mir hat eine Kurierfirma. Seine Fahrer sollen den genauen Verdienst auf jede Fahrt abrufen können.
    Wenn Also Fahrer1 Nach Berlin fährt, soll er aus einem Auswahlmenü "Berlin" auswählen, auf senden Klicken und sieht dann den genauen Verdienst führ die fahrt nach Berlin (Anz. Km, verdienst pro Kilometer usw).

    Also einfach gesagt: Wähl ich Berlin, gib mir die Infos aus der reihe, in der in der Spalte "ort" Berlin steht, wähl ich München, dann gib mir die Infos aus der Reihe, in der die Spalte ORT München aufweist.

    Die datenbank ist folgendermassen aufgebaut: Ort, PLZ, km, verdienst.

    Wie gesagt in dem Gebiet bin ich relativ neu, und hoffe daher auf leicht verständliche Antwortsformulierungen


    Hoffe ich boekomme noch Antworten nach solanger wartezeit.


    Danke vielmals


  4. #4
    Bandit
    Gast

    Standard AW: Datenbank Abfrage mit DropdownMenü

    Vom Prinzip her ziemlich identisch: http://www.forum-hilfe.de/threads/53...l=1#post401261

    Ungetestet:
    PHP-Code:
    <?php

      $ort 
    "";

      
    mysql_connect("host""user""passwort")
         or die (
    "Connection failed");

      
    mysql_select_db("Datenbankname")
         or die (
    "Database not found");

      if (isset(
    $_POST['ort']))
      {
          
    $ort $_POST['ort'];

          
    $query "Select
                        `Ort`,
                        `PLZ`,
                        `km`,
                        `verdienst`
                      from
                        `tabelle`
                      where
                        `ort` = '" 
    mysql_real_escape_string($_POST['ort']) . "'";

          
    $result mysql_query($query)
             or die (
    "MySQL-Fehler: " mysql_error());


         if (
    mysql_num_row($result))
         {
            
    $data mysql_fetch_array($result);

            
    $text "PLZ: " $data['PLZ'] . ", Ort: " $data['ort'] . " km: " $data['km'] . "Verdienst: " $data['verdienst'];
         }
         else
            
    $text "Keinen Eintrag gefunden";
      }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Forum-Hilfe</title>
    </head>
    <body>
    <form action="<?php echo $_SERVER['SCRIPT_NAME'?>" method="post">
    Ort: <input type="select" name="ort">
    <?php
        $query 
    "Select
                    `Ort`
                  from
                    `tabelle`"
    ;
       ;

        
    $result mysql_query($query)
           or die (
    "MySQL-Fehler: " mysql_error());
           
        while (
    $data mysql_fetch_array($result))
         echo 
    "<option>" $data['ort'] . "</option>\n";
    ?>
    </select>
    <input type="submit" name="submit" value="Absenden">
    </form>
    <?php
       
    if (isset($text))
          echo 
    "<br> $text";
    ?>
    </body>
    </html>
    Geändert von Bandit (04.09.2012 um 16:25 Uhr)

  5. #5
    Teeny
    Themenstarter

    Registriert seit
    20.08.2012
    Beiträge
    20
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datenbank Abfrage mit DropdownMenü

    Habe mir das Script mal rauskopiert und nach "meinem ermessen" angepasst, klappt jedoch nicht wirklich. bekomme immer die meldung: MySQL-Fehler: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from `tabelle1` where ' at line 4.

    Hab mal einbisschen rumgeschaut, diese Webseite (schlimmes design, ich wiess) hatt genau das was ich brauche (Tarifrechner, hald ohne Dropdownliste)wenn ich hier eine schweizer postleizahl eingebe zb. 8000 kommen unten genau diese Infos zur PLZ.
    Ist es möglich dieses script "ganz einfach
    " zu koppieren?


  6. #6
    Meister(in) Avatar von lukasn
    Registriert seit
    23.02.2008
    Ort
    Schweiz
    Alter
    27
    Beiträge
    491
    Danke
    2
    Bekam 12 mal "Danke" in 11 Postings

    Standard AW: Datenbank Abfrage mit DropdownMenü

    Zum Thema kopieren: Nicht möglich und auch nicht legal, das Script gehört dir nicht, das darfst du nicht einfach kopieren.

    Was dein Problem angeht, ist es anhand dieser Fehlermeldung unmöglich zu sagen, was der Fehler ist, da du das Script ja "nach deinem Ermessen" angepasst hast. Poste mal dein Script und ein Beispiel des SQL-Codes den du da generierst, also einfach anstatt an die DB schicken per echo ausgeben.

  7. #7
    Teeny
    Themenstarter

    Registriert seit
    20.08.2012
    Beiträge
    20
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datenbank Abfrage mit DropdownMenü

    Zitat Zitat von lukasn Beitrag anzeigen
    Zum Thema kopieren: Nicht möglich und auch nicht legal, das Script gehört dir nicht, das darfst du nicht einfach kopieren.

    Was dein Problem angeht, ist es anhand dieser Fehlermeldung unmöglich zu sagen, was der Fehler ist, da du das Script ja "nach deinem Ermessen" angepasst hast. Poste mal dein Script und ein Beispiel des SQL-Codes den du da generierst, also einfach anstatt an die DB schicken per echo ausgeben.
    Hier das Script wie ich es jetzt habe. Die DB heisst Kurierzentrale und die Tabelle heisst test. In der Tabelle test hab ich die Spalten "ort, plz, km und verdienst"
    PHP-Code:
    <?php
      $ort 
    "";
      
    mysql_connect("localhost""root""alpine")     or die ("Connection failed");
      
    mysql_select_db("kurierzentrale")     or die ("Database not found");
      if (isset(
    $_POST['ort']))  {      $ort $_POST['ort'];
          
    $query "Select                    `ort`,                    `plz`,                    `km`,                    `verdienst`                  from                    `test`                  where                    `ort` = '" mysql_real_escape_string($_POST['ort']) . "'";
          
    $result mysql_query($query)         or die ("MySQL-Fehler: " mysql_error());

         if (
    mysql_num_row($result))     {        $data mysql_fetch_array($result);
            
    $text "PLZ: " $data['plz'] . ", Ort: " $data['ort'] . " km: " $data['km'] . "Verdienst: " $data['verdienst'];     }     else        $text "Keinen Eintrag gefunden";  }?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><title>Forum-Hilfe</title></head><body><form action="<?php echo $_SERVER['SCRIPT_NAME'?>" method="post">Ort: <input type="select" name="ort"><?php    $query "Select                `ort`              from                `test`";   ;
        
    $result mysql_query($query)       or die ("MySQL-Fehler: " mysql_error());           while ($data mysql_fetch_array($result))     echo "<option>" $data['ort'] . "</option>\n";?></select><input type="submit" name="submit" value="Absenden"></form><?php   if (isset($text))      echo "<br> $text";?>
    Nun meckert er rum das die funktion: mysql_num_row nicht difiniert ist

    PS: Danke für deine Zeit

    - - - Aktualisiert - - -

    Habs hingekriegt !!!
    Danke vielmals für deine Hilfe. Hab jetzt (vorläufig) nur noch eine Frage, und zwar:
    Bis jetzt gibt er mir nur immer eine Linie aus. wenn ich jetzt aber einen Ort eingeben möchte der mehrere postleizahlen besitzt, möchte ich gerne dass er mir alles ausgibt.
    Mal ein Beispiel aus der Schweiz: Sagen wir Zürich hat zwei postleitzahlen die einte 8000 und die andere 8001. Nach 8000 sind es 11km und der Weg nach 8001 15km. Wenn ich jetzt (nur) Zürich eingebe soll er mir also alle Reihen die in der Spalte ORT Zürich haben, ausgeben. kannst du mir da noch helfen?

    Vielen Dank

    PS: Wie muss ich vorgehen wenn ich dem User offen lassen will ob er die PLZ oder den ORT eingeben will? Ich kann dem <input> ja nur ein namen zuweisen und der wäre vorläufig ort....
    Geändert von Demian Füglistaler (04.09.2012 um 19:08 Uhr)

  8. #8
    Unregistriert
    Gast

    Standard AW: Datenbank Abfrage mit DropdownMenü

    Wenn das Script für Länder mit numerischen Postleitzahlen ist, frag als erstes den 1. Character vom String ab. Ist dieser eine Zahl, dann ist's die PLZ.

  9. #9
    Bandit
    Gast

    Standard AW: Datenbank Abfrage mit DropdownMenü

    Bei dem aktuellen Quellcode und deinem Beispiel hättest du ja sogar Zürich doppelt drin, deshalb kommst du mit der einen Auswahlliste nicht wirklich weiter. Baue eine zweite Auswahlliste ein, in der die Postleitzahlen stehen. Dann kann man entweder den Ort oder die Postleitzahl auswählen. Je nach Wunsch könnte man eine Auswahlliste mit JavaScript immer auf einen leeren Index setzen, wenn in der anderen etwas ausgewählt wurde. Oder du bleibst bei einer Auswahlliste und schreibst noch die Postleitzahl davor.

Ähnliche Themen

  1. Problem mit Datenbank-Abfrage "Select From"
    Von scabinho im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 02.02.2012, 21:47
  2. Datenbank Abfrage erstellen
    Von AlexW im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 17.04.2009, 11:38
  3. Datenbank hinter online-Abfrage herunterladen?
    Von Bolanger im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 27.09.2008, 10:32
  4. Dropdownmenü !?
    Von McKofFly im Forum Flash Forum
    Antworten: 3
    Letzter Beitrag: 08.06.2006, 22:10
  5. Dropdownmenü
    Von Yusuf im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 27.07.2005, 17:00

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •