Frage $ an Script übergeben

thommy1972

Mitglied
Ich habe folgendes Problem:
Ich habe eine navigation.php in der Links aus einer Datenbank definiert sind.
kat1 = Spielwaren
Klickt man nun auf einen dieser Links kommt man zu Spielwaren.php
Nun habe ich in der Spielwaren.php wiederum eine Datenbankabfrage wegen den Artikeln.
Nun müsste ich von der Navigation den Wert $kat1 (z.B.) an die Spielwaren.php übergeben und in der Abfrage einfügen.
Hoffe das ist soweit verständlich ^^
Hab es in der Navi versucht mit:
PHP:
if ($row["kat3"])
{
$kategorie = $kat3;
?>
<ul  >
<li><a href="<?php echo $row[kat3]; ?>.php" target="haupttext" onfocus="this.blur()"><span 

class="point">?&nbsp;?&nbsp;?&nbsp;&nbsp;&nbsp;</span><?php echo $row[kat3]; ?></a></li>
</ul>

Dann in der php:
PHP:
$sql = "SELECT * FROM produkte where kategorie = '.$kategorie.'";
$ausgabe = mysql_query($sql);
$row = mysql_fetch_array(mysql_query("SELECT * FROM produkte where kategorie = '.$kategorie.'"));

Aber er nimmt den Wert $kategorie nicht an...
 
Rufst du das 2te über einen Link auf? Oder ists mit include() eingebettet?

Im ersten Fall musst du es entweder in einer Session oder als Link-Parameter (GET) mitgegeben werden.

HTML:
<a href="Spielwaren.php?kategorie=abc">Spielwaren</a>

in der Spielwaren.php:
PHP:
$kategorie = $_GET['kategorie'];
 
Zuletzt bearbeitet:
include("navigation.php");

Danke für den Denkhinweis. Glaube ich weiss wie du meinst... werd mal probieren
 
Zuletzt bearbeitet:
Dann sollte er $kategorie eigentlich kennen. Ausser du hast da was falsch gemacht. Lässt sich aber mit deinen 10 Zeilen Code hier nicht sagen.
 
Also als Link hab ich jetzt: /Spielwaren.php?kategorie=Spielwaren

In der Spielwaren.php als Abfrage:

PHP:
$sql = "SELECT * FROM produkte where kategorie = $kategorie";
$ausgabe = mysql_query($sql);
$row = mysql_fetch_array(mysql_query("SELECT * FROM produkte where kategorie = $kategorie"));

Aber das geht nicht.

Habs jetzt so:
PHP:
$sql = "SELECT * FROM produkte where kategorie = '".$_GET['kategorie']."'";
$ausgabe = mysql_query($sql);
$row = mysql_fetch_array(mysql_query("SELECT * FROM produkte where kategorie = '".$_GET['kategorie']."'"));

Glaube das geht.
 
Zuletzt bearbeitet:
Grüße,

das würd denke ich für ein Produkt passen, denn dadurch, dass du keine while-Schleife nach der DB-Abfrage platziert hast, müsste meines Wissens nach jeder Wert vom nächsten überschrieben werden (wenn nicht, korrigiert mich bitte). Deshalb hab ich das Ganze mal ein wenig abgeändert und ein bisschen vereinfacht (weniger Schreibaufwand ;)):

PHP:
<?php
$kat = $_GET['kategorie'];

$ausgabe = mysql_query($db, "SELECT * FROM produkte WHERE kategorie = $kat");
while($row = mysql_fetch_array($ausgabe)) {
//irgendwas machen
}
?>
 
Hab ja eine while Schleife drin...

PHP:
$abfrage1 = "SELECT * FROM produkte WHERE kategorie = '".$_GET['kategorie']."' LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage1);
while($row1 = mysql_fetch_array($ergebnis))
  {
echo "<form action='details.php' method='POST'>";
echo "<table width='100%'>";
echo "<tr><td width='60px'>";
echo "<a href='admin/produkte/uploads/$row1[bild1]' rel='lightbox[roadtrip]'><img src='admin/produkte/uploads/$row1[bild1]' width='50' border='0' style='vertical-align:middle' /></a></td>";
echo "<td width='100px'><b>";
echo $row1[titel];
echo "</b></td>";
echo "<b><td width='250px'>";
echo $row1[beschreibung];
echo "</b></td><td width='100px'>";
echo "Preis:&nbsp;</b>";
echo $row1[vk];
echo " €</td>";
echo "<td width='50px'><input type='submit' name='details' value='Details...'></td><tr>";
echo "</table>";
}
Zu sehen ist das ganze Ergebnis vorerst hier:

http://el-presenta.shop.fm
 
Sieht doch ganz hübsch aus - nur würde ich den Hinweis für Standardwerte beim Adminbereich entfernen -> da kann ja jeder drin rumsuchen oO.
 
Zurück