Daten als Klapptext darstellen

Carins

Grünschnabel
Hallo zusammen,

ich versuche mal mein Problem zu erklären.

Erstmal hier mein code:

PHP:
$res = mysql_query("SELECT * FROM g_oelfilter WHERE app LIKE '%$such%' ORDER BY app");
                      $row = mysql_num_rows($res);   
                      IF ($row!=0)
      	     			{  
                        echo "<h2>Ölfilter</h2>";
						echo "<table class='artikel' width='100%'>";
                        echo "<tr>";
                        echo "<td class='artikel' align='center'><b>Artikel</b></td>";
                        echo "<td class='artikel' align='center'><b>Produkt</b></td>";
                        echo "<td class='artikel' align='center'><b>Preis</b></td>";
                        echo "<td class='artikel' colspan='2'><b>Menge</b></td>";
                        echo "</tr>"; 
                                     
                        for ($i=0; $i<$row; $i++)
                        {
                          $id = mysql_result($res, $i,"id");
                          $artikelnr = mysql_result($res, $i,"artikelnr");
                          $preis = mysql_result($res, $i,"preis");
                          $app = mysql_result($res, $i,"app");
                          $masse = mysql_result($res, $i,"masse");
                          $oe = mysql_result($res, $i,"oe");
                          $kategorie = mysql_result($res, $i,"kategorie");
                          
                          echo "<tr class='artikel'><form class='artikel' method='post' action='shop.php'>";
                          echo "<input class='artikel' type='hidden' name='such' value='$such'>";
                          echo "<input class='artikel' type='hidden' name='Suchen' value='$Suchen'>";
                        	echo "<input class='artikel' type='hidden' name='kaufen' value='Kaufen'>";
                        	echo "<td class='artikel'><b>$artikelnr</td>";
                        	echo "<td class='artikel'>$kategorie</td>";
                          echo "<td class='artikel' nowrap align='right'>$preis €</td>";
                        	echo "<td class='artikel' align='center'><input class='artikel' type='text' name='menge' size='5' value='1'></td>"; 
            	            echo "<td class='artikel' align='center'><input class='artikel' type='image' src='images/warenkorb.jpg' alt='in den Warenkorb'></td>";
                          echo "</form></td></tr>";
                          echo"<tr><td colspan='5' class='artikel'>";
						  	echo "<ul id='menu'>";
							echo "  <li>Applikationen";
							echo "    <ul>";
							echo "      <li>$app</li>";
							echo "    </ul>";
							echo "  </li>";
							echo "  <li>Maße";
							echo "    <ul>";
							echo "      <li>$masse</li>";
							echo "    </ul>";
							echo "  </li>";
							echo "</ul>";
						  echo"</td></tr>";
                        }
                        echo "</table>";
                        echo "<br>";
			}

Was ich nun machen möchte ist folgendes:
Die Schleife schmeist ja jetzt mehrere Artikel raus.
Nun möchte ich bestimmte Daten wie Applikationen und Maße verstecken und
erst anzeigen lassen wenn der User draufklickt.

Das hab ich soweit schon geschafft mit einem Javascript. Jedoch funktioniert das immer nur mit dem ersten Artikel in der Schleife die anderen sind dann zu sehen.
Ich hab das hiermit versucht Aufklappbare Menüs

Hab schon viel gesucht aber irgendwie hab ich entweder nen Brett vorm Kopf oder mir fehlt der richtige Suchbegriff.

Ich hoffe ihr könnt mir helfen.

Gruß Carins
 
Wie das schon richtig erkannt hast löst man das via javascript...
Notwendig zum auswählen welches ersichtlich ist benötigst du einen Eindeutigen Wert zur identifizierung (ID).
Du nutzt eine for schleife und hast die Variable $i.
Variable $i erhöht sich bei jedem durchlauf um eins also ist $i eindeutig.
Somit könntest du dies zur identifizierung nutzen...

Via javascript muß dann nur die Eigenschaft display:block; display:none via hyperlink geschaltet werden.

Schau dochmal ob dir das womöglich weiterhilft...
 
Ja die idee mit dem $i ist klar aber wenn ich das jetzt an dieser stelle das so mache:

PHP:
echo "<ul id='menu[$i]'>";
echo "  <li>Applikationen";
echo "    <ul>";
echo "      <li>$app</li>";
echo "    </ul>";
echo "  </li>";
echo "  <li>Maße";
echo "    <ul>";
echo "      <li>$masse</li>";
echo "    </ul>";
echo "  </li>";
echo "</ul>";

Sind ja die Menüs eindeutig, jedoch wie sag ich das dem Javascript weil der erkennt ja dann menu[0...5] nicht und zeigt alles an.

PHP:
function treeMenu_init(menu, data) {
    var array = new Array(0);
    if(data != null && data != "") {
      array = data.match(/\d+/g);
    }

Ich glaub ich versteh da wohl nur irgendwas nicht oder falsch....
 
Zurück