Suchformular

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

  • chris47803
    antwortet
    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>";
    }
    ?>

    Einen Kommentar schreiben:


  • tontechniker
    antwortet
    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??

    Einen Kommentar schreiben:


  • hhcm
    antwortet
    Wenn du

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

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

    Einen Kommentar schreiben:


  • chris47803
    antwortet
    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";
    }
    ?>

    Einen Kommentar schreiben:


  • hhcm
    antwortet
    Das seh ich ja jetz erst...

    PHP-Code:
    case "irgendwas":
    echo 
    "test";
    break;

    case 
    "wasanderes":
    echo 
    "test2";
    break; 
    Hätte dir php.net aber auch gesagt...
    Faul muss man sein.

    Einen Kommentar schreiben:


  • chris47803
    antwortet
    Weil mir das momentan schon kompliziert genug ist.

    Ich habe jetzt gelesen, das Case auch ein Break benötigt.
    Aber wie und wo setze ich das ein?

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    warum speicherst du überhaupt die selbe zahl in zwei spalten in unterschiedlichen zahlensystemen - anstatt dich für eins zu entscheiden, und sie bei bedarf umzurechnen?

    Einen Kommentar schreiben:


  • chris47803
    antwortet
    Dann erhalte ich als Ausgabe Folgendes:

    dezimal
    SELECT * FROM win_fehler WHERE dezimal='12'
    nix gefunden

    Einen Kommentar schreiben:


  • hhcm
    antwortet
    Mach doch mal ein paar Debugausgaben auf die Seite....

    PHP-Code:
    echo $_POST["spalte"]."<br>";
    switch(
    $_POST["spalte"]) { 
    Änder
    PHP-Code:
    case "dezimal"$daten mysql_query("SELECT * FROM win_fehler WHERE dezimal='".$_POST["suche"]."'") or die(mysql_error()); 
    mal in z.B

    PHP-Code:
    case "dezimal"
    $sql "SELECT * FROM win_fehler WHERE dezimal='".$_POST["suche"]."'";
    echo 
    $sql."<br>";
    $daten mysql_query($sql) or die(mysql_error()); 
    Sowas kann helfen...

    Einen Kommentar schreiben:


  • chris47803
    antwortet
    Ist um Anhang.

    Anstatt PHP_SELF habe ich jetzt den Dateinamen eingesetzt.
    War das richtig?
    Angehängte Dateien

    Einen Kommentar schreiben:


  • hhcm
    antwortet
    Ok nochmal langsam..

    W I E S I E H T D E I N E D A T E N B A N K AUS

    Wie heissen die Felder und welche Daten stehen da drin.. Und jetz poste bitte nicht wieder Links zu deiner Seite.. Ich rede von Quelltext. Ausm Phpmyadmin Kopiert oder sonst was.

    Außerdem .. Schreib in dein Script ganz oben mal

    PHP-Code:
    echo $_SERVER['PHP_SELF']; 
    rein und sag mir ob dein Script so heisst.

    Einen Kommentar schreiben:


  • chris47803
    antwortet
    Eine komplette Ausgabe könnt ihr HIER sehen.

    In dem Formular möchte ich z.B. dezimal auswählen und 12 eintippen.
    Dann soll nur die Zeile in der DB ausgegeben werden, in
    der die 12 steht.

    PS: Ich kann mir gut vorstellen, das euch Noobs nerven.
    Geht mir genauso, nur auf einem anderen Gebiet.

    Einen Kommentar schreiben:


  • hhcm
    antwortet
    Omg..

    Wir sollen dir helfen ...
    WIE?

    Das Formular wird zwar angezeigt, liefert aber bei einer
    Anfrage keine Ergebnisse.
    Soll ich jetz sagen "SCHÖN FÜR DICH" ???

    Dein Script sieht i.O aus.

    Meine Glaskugel is auf Mallorca im Urlaub ich kann sie gerade nicht fragen was in deiner Datenbank steht..

    WAS soll das Script denn ausgeben wenn du WAS eingibst?

    Einen Kommentar schreiben:


  • chris47803
    antwortet
    Tut mir sehr Leid, wenn ihr mich nicht versteht.
    Aber das ich mich damit Null auskenne, habt ihr
    doch sicher gemerkt, oder?

    Also, ich habe nur dieses Script und meine Datenbank.

    Das Script habe ich mir zusammengeschnipselt.

    Geändert habe ich nur die Tabellennamen.

    Chris

    Einen Kommentar schreiben:


  • hhcm
    antwortet
    Wenn du wenigstens mal das Tabellendesign + 2-3 Datensätze die darin enthalten sind posten würdest.

    Einen Kommentar schreiben:

Lädt...
X