This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

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


Gehe zu:


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