Suchformular

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

  • #16
    Vielen Dank, jetzt habe ich schon mal eine vernünftige
    Ausgabe ohne Fehler.

    Allerdings fehlt noch etwas.

    Wenn ich z.B. "Dezimal" auswähle und in das Feld 12
    eintippe, erhalte ich als Ergebnis auch nur 12.

    Da sollte aber die ganze Zeile stehen.

    Also, so wie HIER.

    Allerdings, nur die Zeile mit Dezimal 12.

    Mein Script sieht jetzt folgendermassen aus:
    Code:
    <?php
    
    echo " <form name=formular method=post action='".$_SERVER['win-fehler-suche.php']."'> ";
    echo " <input class='formular' type='radio' name='spalte' value='dezimal' checked> Dezimal";
    echo " <input class='formular' type='radio' name='spalte' value='hexadezimal'> Hexadezimal";
    echo " <input class='formular' type='text' name='suche' maxlenght='255' size='20' value='".$_POST['suche']."'> ";
    echo " <input class='formular' type='submit' name='Submit' value='Senden'> ";
    echo " <input class='formular' type='reset' name='Submit' value='Reset'> </form>";
    include("db-abfrage.php");
    
    $erg = $_POST["spalte"];
    switch($erg ){  
    case "dezimal":
    $daten = mysql_query("SELECT * FROM win_fehler WHERE dezimal='".$_POST["suche"]."'") or die(mysql_error());
    break;
    case "hexadezimal":
    $daten = mysql_query("SELECT * FROM win_fehler WHERE hexadezimal='".$_POST["suche"]."'") or die(mysql_error());  
    break;
    default:
    $daten = mysql_query("SELECT * FROM win_fehler WHERE fehler='".$_POST["suche"]."'") or die(mysql_error());  
    }  
    
    
    if(mysql_num_rows($daten) > 0) {
    while($row = mysql_fetch_array($daten)) {
    echo $row[$_POST["spalte"]];
    }
    } else 
    {
    echo "nix gefunden";
    }
    ?>

    Kommentar


    • #17
      Wenn du

      PHP-Code:
      echo $row[$_POST["spalte"]]; 
      schreibst, wird da auch nichts anderes rauskommen.

      PHP-Code:
      echo $row["feldname_aus_der_db_tabelle"]; 
      gruss Chris

      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

      Kommentar


      • #18
        PHP-Code:
        <?php

        echo " <form name=formular method=post action='".$_SERVER['win-fehler-suche.php']."'> ";
        echo 
        " <input class='formular' type='radio' name='spalte' value='dezimal' checked> Dezimal";
        echo 
        " <input class='formular' type='radio' name='spalte' value='hexadezimal'> Hexadezimal";
        echo 
        " <input class='formular' type='text' name='suche' maxlenght='255' size='20' value='".$_POST['suche']."'> ";
        echo 
        " <input class='formular' type='submit' name='Submit' value='Senden'> ";
        echo 
        " <input class='formular' type='reset' name='Submit' value='Reset'> </form>";
        include(
        "db-abfrage.php");

        $erg $_POST["spalte"];
        switch(
        $erg ){  
        case 
        "dezimal":
        // select * in select fehler geändert
        $daten mysql_query("SELECT fehler FROM win_fehler WHERE dezimal='".$_POST["suche"]."'") or die(mysql_error());
        break;
        case 
        "hexadezimal":
        //select * in select fehler geändert
        $daten mysql_query("SELECT fehler FROM win_fehler WHERE hexadezimal='".$_POST["suche"]."'") or die(mysql_error());  
        break;
        default:
        $daten mysql_query("SELECT * FROM win_fehler WHERE fehler='".$_POST["suche"]."'") or die(mysql_error());  
        }  


        if(
        mysql_num_rows($daten) > 0) {
        while(
        $row mysql_fetch_array($daten)) {
        //$row[$_POST["spalte"]] in $row["fehler"] geändert
        echo $row["fehler"];
        }
        } else 
        {
        echo 
        "nix gefunden";
        }
        ?>
        Wie wärs damit??
        Was soll das default case machen?? wenn der besucher einene komplette fehlerbeschreibung eingibt den fehler nochmal ausgeben oder was??
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #19
          Vielen Dank an alle.

          Es läuft jetzt.

          LINK

          Das Script sieht nun wie folgt aus.

          PHP-Code:
          <?php
          //Tabellen-Kopf für Formular
          {
          echo 
          '
          <table bgcolor="#D3D3D3" border="1" cellspacing="1" cellpadding="4" width="100%">
          <colgroup>
          <col width="30">
          </colgroup>
          <tr>
          <th class="heads"><p><span style="color:white">Windows-Fehler-Codes</span></th>
          </tr>
          <table border="1" cellspacing="0" cellpadding="0" width="100%">
          <colgroup>
          <col width="30">
          <col width="30">
          <col width="30">
          </colgroup></table>'
          ;
          }

          //Formular
          echo " <form name=formular method=post action='".$_SERVER['win-fehler-suche.php']."'> ";
          echo 
          " <input class='formular' type='radio' name='spalte' value='dezimal' checked> Dezimal";
          echo 
          " <input class='formular' type='radio' name='spalte' value='hexadezimal'> Hexadezimal";
          echo 
          " <input class='formular' type='text' name='suche' maxlenght='255' size='20' value='".$_POST['suche']."'> ";
          echo 
          " <input class='formular' type='submit' name='Submit' value='Senden'> ";

          //Datei für die Datenbank-Verbindung
          include("db-abfrage.php");

          //Datenbank-Abfrage aus dem Formular
          $erg $_POST["spalte"];
          switch(
          $erg ){  
          case 
          "dezimal":
          $daten mysql_query("SELECT * FROM win_fehler WHERE dezimal='".$_POST["suche"]."'") or die(mysql_error());
          break;
          case 
          "hexadezimal":
          $daten mysql_query("SELECT * FROM win_fehler WHERE hexadezimal='".$_POST["suche"]."'") or die(mysql_error());  
          break;
          default:
          $daten mysql_query("SELECT * FROM win_fehler WHERE fehler='".$_POST["suche"]."'") or die(mysql_error());  
          }  


          if(
          mysql_num_rows($daten) > 0) {
          while(
          $row mysql_fetch_array($daten)) {

          //Ausgabe der gefunden Daten aus der Datenbank
          echo '

          <table border="1" cellspacing="0" cellpadding="0" width="100%">
          <colgroup>
          <col width="30">
          <col width="30">
          <col width="30">
          </colgroup>




          <tr>
          <th class="heads"><p><span style="color:white">Dezimal</span></th></th>
          <th class="heads"><p><span style="color:white">Hexadezimal</span></th></th>
          <th class="heads"><p><span style="color:white">Fehler-Beschreibung</span></th></th>
          </tr>  
            <tr class="feld">
              <td width="15%" valign="top"><center><span style="color:black">'
          .$row['dezimal'].'</span></center></td>   
              <td width="15%" valign="top"><center><span style="color:black">'
          .$row['hexadezimal'].'</span></center></td>
              <td width="70%" valign="top"><center><span style="color:black">'
          .$row['fehler'].'</span></center></td>
            </tr></table>'
          ;  


          //Ausgabe, falls Nichts gefunden wurde
          //Link zur Gesamt-Liste
          }
          } else 
          {
          echo 
          "<br>";
          echo 
          "<br>";
          echo 
          "Fehlercode nicht in Datenbank vorhanden.";
          echo 
          "<br>";
          echo 
          "<br>";
          echo 
          " <a href='include.php?path=winfehler/win-fehler.php'><center><b>Gesamt-Liste</center></b></a>";
          echo 
          "<br>";
          }
          ?>

          Kommentar

          Lädt...
          X