Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Bedingung

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Bedingung

    Ich habe ein Suchfeld gemacht, welches eine DB durchsucht und möchte jetzt je nach eingabe in das Suchfeld verschiedene ausgaben der werte haben.

    so jetzt zu meinem Problem: wie lautet die anweisung für die Bedingung

    "wenn das gesuchte Wort aus Spalte a kommt diese Ausgabe, wenn das gesuchte Wort aus Spalte b kommt diese Ausgabe ..."

    wenn man zB ins suchfeld ein wort eingibt, welches in der DB aus der Spalte Lehrberuf kommt (zB anlagenelekrik) soll die ausgabe genauso sein als wenn man dem link auf der start.php anklickt:

    Bundesland | Kontaktperson | Kommission | Pruefung 2005 | Pruefung 2006 | Berufsschulen


    Ist das wort im Suchfeld aus der Spalte Bundesland (zB Wien) soll die Ausgabe folgende Daten von Wien ausgeben:

    Lehrberuf | Kontaktperson | Kommission | Pruefung 2005 | Pruefung 2006 | Wien

    zur besseren Vorstellung:

    http://ibw.neuemedien.at/Bildungsplattform/start.php

    ich hoffe mein Anliegen ist halbwegs verständlich

    mein code:

    Code:
    <?php 
    
    $dbfehler1 = "Die Datenbankverbindung konnte nicht aufgebaut werden!"; 
    $dbfehler2 = "Es konnte keiner Verbindung mit der Datenbank aufgebaut werden!"; 
    
    $host          = "localhost"; 
    $dbuser       = "xxx"; 
    $pass          = "xxx"; 
    $dbase        = "xxx"; 
    
    $db=mysql_connect($host,$dbuser,$pass) or die($dbfehler1); 
    $select=mysql_select_db($dbase,$db) or die($dbfehler2); 
    
    $suchtext=$HTTP_POST_VARS['suchtext']; 
    
    echo" $suchtext 
    "; 
    
    if (isset($suchtext)) 
    { 
    $sql = "SELECT Lehrberuf, Kommission, Pruefung2005, Pruefung2006, Schulen, Kontaktperson, email, Bundesland FROM Artikel WHERE Lehrberuf LIKE '%$suchtext%' OR Schulen LIKE '%$suchtext%' OR Kontaktperson LIKE '%$suchtext%'OR eMail LIKE '%$suchtext%' OR Bundesland LIKE '%$suchtext%'ORDER BY Lehrberuf"; 
    //"GROUP BY Lehrberuf, Kommission, Pruefung2005, Pruefung2006, Berufsschulen, Kontaktperson, email ".                
    } 
    
    if (! $result = mysql_query ($sql, $db)) {echo mysql_error();}; 
    # $anzahl = mysql_num_rows ($result); 
    # echo "Anzahl: $anzahl"; 
    
    echo $anzahl; 
    
    while ($row=mysql_fetch_row ($result)) 
    { 
    if ($row[1]=='1') {$kommission="X";} else {$kommission="-";} 
    if ($row[2]=='1') {$pruefung2005="X";} else {$pruefung2005="-";} 
    if ($row[3]=='1') {$pruefung2006="X";} else {$pruefung2006="-";} 
    
    
    echo"<tr>"; 
    
    echo" 
    <td> $row[7]</td> 
                 
    <td> $row[5]
     
    
    <a href=\"mailto:$row[6]\">$row[6]</a>
    </td> 
    
    <td align=\"center\"> $kommissiontd> 
    
    <td align=\"center\"> $pruefung2005td> 
    
    <td align=\"center\"> $pruefung2006</font></td> 
    
    <td><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">"; 
    $schulen = str_replace(",", "\n", $row[4]); 
    
    echo nl2br($schulen);  
    
    echo'</font>
    </td></tr><tr> <td colspan="6"><hr></td></tr>'; 
    
    } 
    
    ?>

  • #2
    tja mehr als nen ansatz kann ich dir ned liefern :P
    die frage die sich mir zuerst stellt, angenommen du hast 10 funde, davon 3 in spalte 1, 4 in spalte 2 und 3 in spalte 3, wie ist die ausgabe dann? jedes im passenden? alle in einer art?

    -> entweder das query für jede spalte einzeln ausführen und dann anhand der gefundenen ergebnisse ausgeben
    oder mal die IF-syntax anschauen und dann bei deinem query eine virtuelle spalte erstellen die enhält aus welcher spalte der jeweilige eintrag kommt. (bin mir nicht sicher ob dies in mysql so realsierbar ist und welche version dafür vorrausetzung ist

    ACHTUNG PSEDUOCODE!!

    SELECT spalte1,spalte2,spalte3,
    IF (spalte1 LIKE '%gesucherwert') FUNDINSPALTE = 'spalte1' ELSE
    IF (spalte2 LIKE '%gesucherwert') FUNDINSPALTE = 'spalte2' ELSE
    IF (spalte3 LIKE '%gesucherwert') FUNDINSPALTE = 'spalte3'

    WHERE
    spalte1 LIKE '%gesucherwert' OR
    spalte2 LIKE '%gesucherwert' OR
    spalte3 LIKE '%gesucherwert'

    wo wiederrum auch das problem auftritt was wenn es in mehreren spalten in einem datensatz gefunden wurde?

    mfg
    robo47
    [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
    | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

    Kommentar

    Lädt...
    X