Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
In 3 Spalte suchen
#1
So kann man durch klicken einer checkbox in mehreren Spalten suchen.
Ich habe das so gemacht. 

<!doctype html>
<html>
<head>
<title> Durchsuche mehrere Spalten in Db </title>

      <style>
      #suche1,#suche2,#suche3{
      display:none;
      }
      .line{
      display:flex;
      }   
      </style>
</head>

<body>
<h3>Aktiviere die Checkboxen um in der Spalte nach einen bestimmten Wort zu suchen</h3>
<form action="sucheindb.php" method="POST">
<p class="line"> Spalte1 <input id="check1" class="box" type="checkbox" name="suche1"><span id="go1"><input type="text" id="suche1" name="suche4" placeholder="Suchtext..."></span></p>
<p class="line"> Spalte2<input id="check2" class="box" type="checkbox" name="suche2"><span id="go2"><input type="text" id="suche2"  name="suche5" placeholder="Suchtext..."></span></p>
<p class="line"> Spalte3<input id="check3" class="box" type="checkbox" name="suche3"><span id="go3"><input type="text"  id="suche3" name="suche6" placeholder="Suchtext..."></span></p>
<input type="submit" name="su" value="Suche in Datenbank" />
</form>
<script>

for(v=1;v<4;v++){
  boxe1=$('#check'+v+'').prop('checked');
  if(boxe1==true){
      $('#suche'+v+'').css('display','block');
  }else{
      $('#suche'+v+'').css('display','none');
  }
}
$('#check1').click(function(){
  boxe1=$('#check1').prop('checked');
  if(boxe1==true){
      $('#suche1').css('display','block');
  }else{
      $('#suche1').css('display','none');
  }
});
$('#check2').click(function(){
  boxe1=$('#check2').prop('checked');
  if(boxe1==true){
      $('#suche2').css('display','block');
  }else{
      $('#suche2').css('display','none');
  }
});
$('#check3').click(function(){
  boxe1=$('#check3').prop('checked');
  if(boxe1==true){
      $('#suche3').css('display','block');
  }else{
      $('#suche3').css('display','none');
  }
});



</script>





<?php 
if(isset($_POST['su'])){
  $suchea=htmlspecialchars($_POST['suche4']);
  $sucheb=htmlspecialchars($_POST['suche5']);
  $suchec=htmlspecialchars($_POST['suche6']);
  $ff1=strlen($suchea);
  $ff2=strlen($sucheb);
  $ff3=strlen($suchec);
  if($ff1>2 OR $ff2>2 OR $ff3>2){
    if(!empty($_POST['suche1']) AND !empty($_POST['suche2'])  AND !empty($_POST['suche3'])){
        if($ff1>0 AND $ff2>0 AND $ff3>0){
          $query = "select * FROM term WHERE normalized_word LIKE '%$suchea%' OR word LIKE '%$sucheb%' OR normalized_word2 LIKE '%$suchec%'  LIMIT 0 , 1000";
        }else{
          echo"Bei den angeklickten Boxen muß mindesten 1 Zeichen in der Suche stehen,ansonsten Deaktiviere die Box";
          return;
        }
    }else if(!empty($_POST['suche1']) AND !empty($_POST['suche2'])){
    if($ff1>0 AND $ff2>0){
        $query = "select * FROM term WHERE word LIKE '%$suchea%' OR normalized_word LIKE '%$sucheb%' LIMIT 0 , 1000";
    }else{
        echo"1Bei den angeklickten Boxen muß mindesten 1 Zeichen in der Suche stehen,ansonsten Deaktiviere die Box";
    return;
    }
  }else if(!empty($_POST['suche1']) AND !empty($_POST['suche3'])){
  if($ff1>0 AND $ff3>0){
      $query = "select * FROM term WHERE word LIKE '%$suchea%' OR  normalized_word2 LIKE '%$suchec%' LIMIT 0 , 1000";
  }else{
      echo"Bei den angeklickten Boxen muß mindesten 1 Zeichen in der Suche stehen,ansonsten Deaktiviere die Box";
      return;
  }
}else if(!empty($_POST['suche2']) AND !empty($_POST['suche3'])){
  if($ff2>0 AND $ff3>0){
      $query = "select * FROM term WHERE normalized_word LIKE '%$sucheb%' OR  normalized_word2 LIKE '%$suchec%' LIMIT 0 , 1000";
  }else{
      echo"Bei den angeklickten Boxen muß mindesten 1 Zeichen in der Suche stehen,ansonsten Deaktiviere die Box";
      return;
  }
}else  if(!empty($_POST['suche1'])){
    $query = "select * FROM term WHERE word LIKE '%$suchea%'  LIMIT 0 , 1000";
}else  if(!empty($_POST['suche2'])){
    $query = "select * FROM term WHERE normalized_word LIKE '%$sucheb%'  LIMIT 0 , 1000";
}else  if(!empty($_POST['suche3'])){
    $query = "select * FROM term WHERE  normalized_word2 LIKE '%$suchec%'  LIMIT 0 , 1000";
} 
if($_POST['suche1']=='' AND $_POST['suche2']=='' AND $_POST['suche3']==''){
    echo "Bitte kreuze zumindest eine Checkbox an";
}else{
    $mysqli = mysqli_connect('localhost', '*****', '****', '****');
    if (mysqli_connect_errno()) die ("Connect failed: " . mysqli_connect_error());
        mysqli_set_charset($mysqli, "utf8");
        $fa=0;
        $result = mysqli_query($mysqli, $query)  or die ("MySQL-Error: " . mysqli_error($mysqli));
        if ($g=mysqli_num_rows($result)){
          if($f<=100){
            if($_POST['suche1']==''){
                $suchea1='';
            }else{
                $suchea1=$suchea;            
            }
            if($_POST['suche2']==''){
                $sucheb1='';
            }else{
                $sucheb1=$sucheb;            
            }
            if($_POST['suche3']==''){
                $suchec1='';
            }else{
                $suchec1=$suchec;            
            }
            if($g>999){
            $g='+ '.$g.' ( gedrosselt.)';
            }
          echo " $g Einträge gefunden zu den Wort <br>";
          echo "<table style=\"font-family:arial;color:#333333;\">"; 
          echo "<tr><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;background:#98bf21;\">Nr</td>
          <td style=\"border-style:solid;border-width:1px;border-color:#98bf21;background:#98bf21;\">Hauptwort Spalte 1 <span style='float:right;color:white'>Suchwort: <span style='color:red;'>$suchea1</span></span</td>
          <td style=\"border-style:solid;border-width:1px;border-color:#98bf21;background:#98bf21;\">Tuwort ? Salte 2 <span style='float:right;color:white'>Suchwort: <span style='color:red;'>$sucheb1</span></span</td>
          <td style=\"border-style:solid;border-width:1px;border-color:#98bf21;background:#98bf21;\">Ist Wort ? Spalte 3 <span style='float:right;color:white'>Suchwort: <span style='color:red;'>$suchec1</span></span</td>"; 
          while ($row = mysqli_fetch_assoc($result)){
            $fa++;
 echo "<tr><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;\">$fa </td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;\">"; 
            echo $row['word'];
 echo "</td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;\">";
            echo $row['normalized_word'];
 echo "</td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;\">";
            echo $row['normalized_word2'];
 echo "</td></tr>"; 
          }
   echo "</table>"; 
    }
        } else {
            echo "Nothing found";
        }
}
  }else{
    echo "Eins der  Suchörter muß mindestens 3 Buchstaben haben";
}
}
?>


Nur ob das so Perfekt ist glaube ich nicht weil  man bestimmt die Datenbank abfrage anders machen kann.Aber dafür bin ich noch nicht gut genug in Sql.
Funktionieren tut es ja
Zitieren


[-]
Schnellantwort
Nachricht
Geben Sie hier Ihre Antwort zum Beitrag ein.

 

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste