Hallo Leute,
irgendwie sehe ich heute den Wald vor lauter Bäumen nicht mehr.
Ich habe eine Artikeldatenbank mit folgender Struktur: (Die Kollation der Tabelle ist utf8_unicode_ci)
Spalte Typ Null Standard
Da die Artikeldatenbank schon ziemlich umfangreich ist, möchte ich die Möglichkeit haben in der Datenbank gezielt nach Einträgen zu suchen.
Leider gibt die Suche ALLE Einträge aus, auch solche die mit dem Suchbegriff nichts zu tun haben. Mein Suchbegriff wird übergeben (ich lasse den z. Zt. als echo ausgeben).
Vielleicht könnt ihr mir einen Hinweis geben wo mein Fehler liegt.
Meine Anzeige-PHP besteht aus 2 Dateien, die Erste nimmt den Kontakt zur Datenbank auf und die Zweite erzeugt nur die Ausgabe und gibt die Möglichkeit den Artikel zu ändern.
artikel.php
artikel_anzeige.php
Nun meine suche.php
irgendwie sehe ich heute den Wald vor lauter Bäumen nicht mehr.
Ich habe eine Artikeldatenbank mit folgender Struktur: (Die Kollation der Tabelle ist utf8_unicode_ci)
Spalte Typ Null Standard
- nummer int(10) Nein
- kategorie text Nein
- unterkategorie text Nein
- menge text Nein
- artikelnummer text Nein
- artikel text Nein
- preis text Nein
- kurzartikel text Nein
- sort varchar(5) Nein
- deleted_at timestamp Ja NULL
Da die Artikeldatenbank schon ziemlich umfangreich ist, möchte ich die Möglichkeit haben in der Datenbank gezielt nach Einträgen zu suchen.
Leider gibt die Suche ALLE Einträge aus, auch solche die mit dem Suchbegriff nichts zu tun haben. Mein Suchbegriff wird übergeben (ich lasse den z. Zt. als echo ausgeben).
Vielleicht könnt ihr mir einen Hinweis geben wo mein Fehler liegt.
Meine Anzeige-PHP besteht aus 2 Dateien, die Erste nimmt den Kontakt zur Datenbank auf und die Zweite erzeugt nur die Ausgabe und gibt die Möglichkeit den Artikel zu ändern.
artikel.php
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<?php
//$anzahl = $_GET["anzahl"];
require ("config/config.php");
//
?>
<html><head>
<meta content="text/html; charset=utf-8" http-equiv="content-type"><title>Gravurdaten</title>
<link href="config/style.css" type="text/css" rel="stylesheet" />
<script src="http://admin.deine-gravur.de/rechnungen/function2.js"></script>
</head>
<BODY>
<table><tr><td>
<form action="artikelneu.php" method="post">
<button type="submit">Neuer Artikel</button>
</form></td><td>
<form name="artikel" method="post" action="">
<select name="kategorie" onchange="this.form.submit();">
<option value="">bitte wählen</option>
<?php
$Connect = mysqli_connect($server, $user, $pass);
@mysqli_select_db($Connect, "$dbase");
$result = mysqli_query($Connect, "SELECT DISTINCT kategorie FROM $tabelle1a ORDER BY kategorie ASC");
while($row = mysqli_fetch_row($result))
echo "<option value=\"$row[0]\">$row[0]</option>";
mysqli_free_result( $result );
print_r($_POST);
$kategorie=$_POST['kategorie'];
?>
</select></form>
</td><td>
<form name="artikel" method="post" action="">
<select name="kategorie" onchange="this.form.submit();">
<option value="">bitte wählen</option>
<?php
$Connect = mysqli_connect($server, $user, $pass);
@mysqli_select_db($Connect, "$dbase");
$result = mysqli_query($Connect, "SELECT DISTINCT unterkategorie FROM $tabelle1a ORDER BY unterkategorie ASC");
while($row = mysqli_fetch_row($result))
echo "<option value=\"$row[0]\">$row[0]</option>";
mysqli_free_result( $result );
print_r($_POST);
$kategorie=$_POST['kategorie'];
?>
</select></form>
</td><td>
<form action="suche.php" method='GET'>
<input style="border-color: #666666;" type="text" id="such" name="such" value="" size="30">
<button class="knopf" type="submit">Go</button>
</form>
</td></tr></table>
<?php
//Auflistung Artikel gesamt
echo "
<table style=\"text-align: left; width: 100%;\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tbody><tr>
<td class=\"artkat\">Kategorie</td>
<td class=\"artukat\">Unterkategorie</td>
<td class=\"artmenge\">Menge</td>
<td class=\"artartnr\">Art.nr</td>
<td class=\"arttextart\">Artikel</td>
<td class=\"artpreis\">Preis</td>
<td class=\"artpreis\">Sort</td>
<td class=\"artkuart\">Kurzbeschreibung</td>
<td>Go</td>
</tr>";
$beitraege_pro_seite=15;
$pdo = new PDO($server2, $user, $pass);
$show_form = true;
$error = null;
if(!is_null($error)) { //Ein Fehler ist aufgetreten
echo $error;
}
/***********************
* Ausgabe der Einträge
***********************/
//Ermittelt die Anzahl der Beiträge
$statement = $pdo->prepare("SELECT COUNT(*) AS anzahl FROM $tabelle1a WHERE deleted_at IS NULL");
$statement->execute();
$row = $statement->fetch();
// Anzahl der gesamteinträge
$anzahl_eintrage = $row['anzahl'];
//Berechne alles notwendige für die Blätterfunktion
$seite = 1;
if(isset($_GET['seite'])) {
$seite = intval($_GET['seite']);
}
$start = ($seite-1)*$beitraege_pro_seite;
//Abfrage der Datenbank und Ausgabe der Daten
$statement = $pdo->prepare("SELECT * FROM $tabelle1a WHERE deleted_at IS NULL ORDER BY unterkategorie, sort ASC LIMIT :start, :limit");
$statement->bindParam(':start', $start, PDO::PARAM_INT);
$statement->bindParam(':limit', $beitraege_pro_seite, PDO::PARAM_INT);
$statement->execute();
while($row = $statement->fetch()) {
$nummer = htmlentities($row['nummer']);
$kategorie = htmlentities($row['kategorie']);
$unterkategorie = htmlentities($row['unterkategorie']);
$menge = htmlentities($row['menge']);
$artikelnummer = htmlentities($row['artikelnummer']);
$artikel = htmlentities($row['artikel']);
$preis = htmlentities($row['preis']);
$sort = htmlentities($row['sort']);
$kurzartikel = htmlentities($row['kurzartikel']);
include ("artikel_anzeige.php");
}
echo "</tbody></table>";
//Berechne die Anzahl der Seiten:
$anzahl_seiten = ceil($anzahl_eintrage / floatval($beitraege_pro_seite));
// Blättern
echo "<div id=\"navigation\" align=\"center\">";
echo ' <a href="?seite='.$anzahl_eintrage.'" >Erste Seite</a>';
$seite = $_GET['seite'] +1;
echo ' <a href="?seite='.$seite.'" ><< </a>';
echo " $seite";
$seite = $_GET['seite'] -1;
echo ' <a href="?seite='.$seite.'" > >></a>';
echo ' <a href="?seite=1" >Letzte Seite </a></div>';
?>
artikel_anzeige.php
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta content="text/html; charset=utf-8" http-equiv="content-type"><title>Gravurdaten</title>
<link href="config/style.css" type="text/css" rel="stylesheet" />
<script src="http://admin.deine-gravur.de/rechnungen/function2.js"></script>
</head>
<BODY>
<form action="updateartikel.php" method="post">
<?php
echo "<tr><input name=\"nummer\" type=\"hidden\" value=\"$nummer\">
<td class=\"artkat\" style=\"vertical-align: top;\"><input name=\"kategorie\" size=\"30\" value=\"$kategorie\"></td>
<td class=\"artkuat\" style=\"vertical-align: top;\"><textarea name=\"unterkategorie\" cols=\"25\" rows=\"2\">$unterkategorie</textarea></td>
<td class=\"artmenge\" style=\"vertical-align: top;\"><input name=\"menge\" size=\"3\" value=\"$menge\" onkeydown=\"replaceLetters(this)\"></td>
<td class=\"artartnr\" style=\"vertical-align: top;\"><input name=\"artikelnummer\" size=\"8\" value=\"$artikelnummer\"></td>
<td class=\"arttextart\" style=\"vertical-align: top;\"><textarea name=\"artikel\" cols=\"30\" rows=\"2\">$artikel</textarea></td>
<td class=\"artpreis\" style=\"vertical-align: top;\"><input name=\"preis\" size=\"10\" value=\"$preis\" onkeydown=\"replaceLetters(this)\"></td>
<td class=\"artpreis\" style=\"vertical-align: top;\"><input name=\"sort\" size=\"5\" value=\"$sort\"></td>
<td class=\"artkuart\" style=\"vertical-align: top;\"><textarea name=\"kurzartikel\" cols=\"30\" rows=\"2\">$kurzartikel</textarea></td>
<td class=\"artknopf\"><button class=\"knopf\" type=\"submit\" name=\"action\" value=\"1\" align=\"center\">Ändern</button></td>
</tr>
";
?>
</form>
</body></html>
Nun meine suche.php
PHP:
<?php
$such = $_GET["such"];
//Prüfung ob Suchbegriff durchkommt
echo "$such";
require ("config/config.php");
$beitraege_pro_seite=12;
$pdo = new PDO($server2, $user, $pass);
$show_form = true;
$error = null;
if(!is_null($error)) { //Ein Fehler ist aufgetreten
echo $error;
}
/***********************
* Ausgabe der Einträge
***********************/
//Ermittelt die Anzahl der Beiträge
$statement = $pdo->prepare("SELECT COUNT(*) AS anzahl FROM $tabelle1a WHERE deleted_at IS NULL");
$statement->execute();
$row = $statement->fetch();
// Anzahl der gesamteinträge
$anzahl_eintrage = $row['anzahl'];
//Berechne alles notwendige für die Blätterfunktion
$seite = 1;
if(isset($_GET['seite'])) {
$seite = intval($_GET['seite']);
}
$start = ($seite-1)*$beitraege_pro_seite;
//Abfrage der Datenbank und Ausgabe der Daten
$statement = $pdo->prepare("SELECT * FROM $tabelle1a WHERE
kategorie LIKE '%$such%' OR
unterkategorie LIKE '%$such%' OR
artikelnummer LIKE '%$such%' OR
artikel LIKE '%$such%' OR
kurzartikel LIKE '%$such%'
ORDER BY nummer DESC LIMIT :start, :limit");
$statement->bindParam(':start', $start, PDO::PARAM_INT);
$statement->bindParam(':limit', $beitraege_pro_seite, PDO::PARAM_INT);
$statement->execute();
while($row = $statement->fetch()) {
$nummer = htmlentities($row['nummer']);
$kategorie = htmlentities($row['kategorie']);
$unterkategorie = htmlentities($row['unterkategorie']);
$menge = htmlentities($row['menge']);
$artikelnummer = htmlentities($row['artikelnummer']);
$artikel = htmlentities($row['artikel']);
$preis = htmlentities($row['preis']);
$sort = htmlentities($row['sort']);
$kurzartikel = htmlentities($row['kurzartikel']);
include ("artikel.php");
}
echo "</tbody>
</table>";
//Berechne die Anzahl der Seiten:
$anzahl_seiten = ceil($anzahl_eintrage / floatval($beitraege_pro_seite));
// Blättern
echo "<div id=\"navigation\" align=\"center\">";
echo ' <a href="?seite='.$anzahl_eintrage.'" >Erste Seite</a>';
$seite = $_GET['seite'] +1;
echo ' <a href="?seite='.$seite.'" ><< </a>';
$seite = $_GET['seite'] -1;
echo ' <a href="?seite='.$seite.'" > >></a>';
echo ' <a href="?seite=1" >Letzte Seite </a></div>';
?>