So hier gab es eine weile lang keine Reaktion mehr. Versuche das mal dann so zu beantworten.
Ich gehe mal von einem Textdokument:
artikel.txt aus
Code:
ANR00001;CDR-650 (10 SlimCase);4,90;20;
ANR00002;CDR-650 (25 Spindel);7,90;20;
ANR00003;CDR-700 (50 Spindel);14,90;20;
ANR00004;CDR-700 (100 Spindel);24,90;20;
ANR00005;CDRW-700 (10 Case);14,90;20;
...
wenn wir nun keinen komplizierten parser schreiben möchten, würde ich als erstes
artikel.txt nach
artikel.php kopieren. Anschließend ändern wir die Struktur der Datei wie folgt:
[php:1:59cbead478]
<?
$artikel = array (
"ANR00001","CDR-650 (10 SlimCase)","4,90","20",
"ANR00002","CDR-650 (25 Spindel)","7,90","20",
"ANR00003","CDR-700 (50 Spindel)","14,90","20",
"ANR00004","CDR-700 (100 Spindel)","24,90","20",
"ANR00005","CDRW-700 (10 Case)","14,90","20"
...
);
?>
[/php:1:59cbead478]
ich empfehle hier die Suchen&Ersetzen Funktion einiger Editoren zu benutzen und ; durch "," zu ersetzen. Der rest ist dann leicht per hand zu ändern.
jetzt haben wir eine fix&fertige php tabelle.
als nächstes sollten alle seiten die mit den Artikeln arbeiten soll diese Datei includieren. das geschieht über folgende Zeile.
[php:1:59cbead478]
<?
...
@include("artikel.php");
...
?>
[/php:1:59cbead478]
jetzt kann man über eine schleife die felder abfragen. Ich stelle das ergebnis in einer Tabelle dar.
der zu suchende Artikel wird der Seite in dem Feld anr übergeben.
hier der komplette code für ergebnis.php
[php:1:59cbead478]<?
$nr = $HTTP_POST_VARS['anr']; // hier wird die übergebene Artikel Nr. gespeichert.
@include("artikel.php");
?>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Artikel Nr.</td>
<td>Name</td>
<td>Preis</td>
<td>Auf Lager</td>
</tr>
<?
if($nr == "all") { // Wenn all eingegeben wurde, sollen alle Artikel ausgegeben werden.
for($i = 0;$i<count($artikel);$i+=4) {
echo("<tr>\n");
echo("<td>");echo($artikel[$i]);echo("</td>\n");
echo("<td>");echo($artikel[$i+1]);echo("</td>\n");
echo("<td>");echo($artikel[$i+2]);echo("</td>\n");
echo("<td>");echo($artikel[$i+3]);echo("</td>\n");
echo("</tr>\n");
}
}
else {
for($i = 0;$i<count($artikel);$i+=4) {
if($artikel[$i]!=$nr) continue; // Überprüfen ob die übergebene Artikel Nr.
// mit der Nr. aus der "Datenbank" übereinstimmt.
// Nein, dann weiter zum nächsten Artikel.
echo("<tr>\n");
echo("<td>");echo($artikel[$i]);echo("</td>\n");
echo("<td>");echo($artikel[$i+1]);echo("</td>\n");
echo("<td>");echo($artikel[$i+2]);echo("</td>\n");
echo("<td>");echo($artikel[$i+3]);echo("</td>\n");
echo("</tr>\n");
break; // Schleife abbrechen, da die Nummer gefunden wurde und die Nummer
// nur einmal vorkommen kann
}
}
?>
</table>
<form action="artikelsuche.html" method="get"><input type="submit" name="suchen" value="Neue Suchen"></form>
</body>
[/php:1:59cbead478]
Hier noch die Seite die ergebnis.php aufruft (artikelsuche.html):
Code:
<body>
<form action="ergebnis.php" method="post">
Artikel Nr. (all für alle):
<input type="text" name="anr">
<input type="submit" name="suchen" value="Suchen">
</form>
</body>
So, das war eine etwas ausführlichere antwort als sonst, hoffe damit ist auch anderen mit vergleichbaren problemen geholfen
feyyaz
PS: in den beispielen lasse ich immer die <html>, <title>, usw Tags weg. ist standart und sollte jeder ohne weiters selbst hinzufügen können. Ausser
artikel.php, die bleibt wie sie ist.