Hallo,
und das nächste Problem.
Ich habe mit einsatz von RegEXp mal dieersten Schritte meiner suche gebastelt.
funktioniert soweit auch ganz gut, nur leider wird meine neue Erweiterung komplett ignoriert.
Der User definiert mittels 4 checkboxen welchen Artikelstatus (von 4 möglichen) er sehen will.
Mir kommt es so vor als ob mein erstes Statement in der WHERE-Anweisung komplett ignoriert wird.
bin mir leider nicht sicher woher dieserFehler kommt.
die reine Idee geht innerhalb der MySQL konsole, d.h. irgendwo is meine umsetzung im PHP code buggy.
Sprich: jederArtikel der dme Suchbegriff entspricht wird dargestellt, egal ob Stati 1, 2,3, oder 4
ich seh das problem hier:
--
WHERE ".$stati." REGEXP KIS_status_status_id AND
--> wird ignoriert, warum auch immer
--
hier mal der Code
PHP-Code:
<?php
echo "<h2>SUCHE:</h2>\n";
// ----------------------------------------------------------------------------------------------
// PART 1 - Einfache Suche
echo "<html>";
echo "<form method='post'>";
echo "<table width='700' border='0' cellpadding='2' cellspacing='1' align='left'>";
echo "<tr>";
echo "<td width='50'></td>";
echo "<td width='250'>[b]Einfache Suche[/b]</td>";
echo "<td width='200'></td>";
echo "<td width='200'></td>";
echo "</tr>";
echo "<tr>";
echo "<td></td>";
echo "<td><input size='30' name='suchbegriff_1' type='text'></td>";
echo "<td></td>";
echo "<td></td>";
echo "</tr>";
echo "<tr>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "</tr>";
//Den Status auch in der einfachen Suche einbinden
echo "<tr>";
echo "<td></td>";
echo "<td><input type='checkbox' name='status10' value='B' checked='checked'>in Betrieb</td>";
echo "<td><input type='checkbox' name='status11' value='R' checked='checked'>in Reparatur</td>";
echo "<td></td>";
echo "</tr>";
echo "<tr>";
echo "<td></td>";
echo "<td><input type='checkbox' name='status12' value='A' checked='checked'> Ausschlachten</td>";
echo "<td><input type='checkbox' name='status13' value='S'> wurde verschrottet</td>";
echo "<td>
<input name='save1' type='submit' value='GO'>
<input name='reset1' type='reset' value='Reset'>
</td>";
echo "</tr>";
echo "</table>";
echo "</html>";
if(isset($_POST['save1']))
{
// Textfeld für Artikel-Bezeichnung
$suchbegriff = $_POST['suchbegriff_1'];
//
if(!get_magic_quotes_gpc())
{
$suchbegriff = addslashes($suchbegriff);
}
//
// Überprüfung ob ein Suchbegriff eingegeben wurde
if(empty($suchbegriff))
{
die("Zur erfolgreichen Suche ist ein Suchbegriff notwendig :)");
}
//Suchbegriff wurde eingegeben
else
{
//check status boxen
$stati = "";
if (isset($_POST['status10'])) {$stati = $stati."0";}
if (isset($_POST['status11'])) {$stati = $stati."1";}
if (isset($_POST['status12'])) {$stati = $stati."2";}
if (isset($_POST['status13'])) {$stati = $stati."3";}
// Statis ausgeben
echo "Suche in folgenden Stati: ".$stati;
//
//Stati/Regexp FUNKTIONIERT unter MySQL:
//PUR SQL: select artikel_inv_nummer,KIS_status_status_id
// from KIS_artikel
// where '123' REGEXP KIS_status_status_id;
$query = " SELECT
artikel_inv_nummer,
artikel_bezeichnung,
artikel_notiz,
artikel_datev_nummer,
artikel_einkaufspreis,
KIS_status_status_id
FROM KIS_artikel
WHERE ".$stati." REGEXP KIS_status_status_id AND
artikel_inv_nummer REGEXP '$suchbegriff' OR
artikel_bezeichnung REGEXP '$suchbegriff' OR
artikel_notiz REGEXP '$suchbegriff' OR
artikel_datev_nummer REGEXP '$suchbegriff' OR
artikel_einkaufspreis REGEXP '$suchbegriff' ";
//'$stati' REGEXP KIS_status_status_id AND
//
// SIEHE SUCHE_PDF.PHP
// zum abschluss mit AND
// Status eingeziehen
//
//Query auffangen
$result = mysql_query($query);
//
//need more space
echo "
";
//
// Wieviele Treffer sind es ?
$num = mysql_numrows($result);
//
//Die DB suche hat Treffer
if ($num > 0)
{
echo "
Es wurde/n $num Zeile/n aus der Datenbank selektiert
<hr>";
// Query als Table ausgeben ausgeben
echo "<table width='700' border='0' cellpadding='2' cellspacing='1' align='left'>";
echo "<tr>
<th align='left'>Artikel</th>
<th align='left'>Bezeichnung</th>
<th align='left'>Notiz</th>
<th align='left'>DatevNr.</th>
<th align='left'>Preis</th>
<th align='left'>Status</th></tr>";
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<tr> <td>{$row['artikel_inv_nummer']}</td>
<td>{$row['artikel_bezeichnung']}</td>
<td>{$row['artikel_notiz']}</td>
<td>{$row['artikel_datev_nummer']}</td>
<td>{$row['artikel_einkaufspreis']}</td>
<td>{$row['KIS_status_status_id']}</td>
</tr>
";
}
echo "</table>
";
//
// Wir machen einen Link zur PDF-Erstellung
// Variablen Übergabe geht aktuell nur bei GLOBALS ON, muss ich fixen
echo "
Klicken Sie <a href='suche_pdf.php?suchbegriff=$suchbegriff' target='_new'>HIER<a> um die Liste als PDF zu erhalten.
<hr>";
}
// wir haben keine Treffer in der DB-Suche
else
{
echo "
Keine Treffer gefunden, bitte versuchen Sie einen anderen Suchbegriff.";
}
}
}
?>