Webstatt.org - Community seit 2006 - 2012 (2024?)

Variablen

user-333
03.03.2006 16:19

Hallo Community,

ich hab da mal ein problem, was ich nicht lösen kann.
Es geht um folgendes layout: http://www.tr-art.de/demo/gag/ (nicht möglich die links anzuklicken, weil ich nur die relevanten daten hochgeladen habe).

Problem:
- Artikel, Interaktiv sind Oberpunkte für weitere Links. Klickt man auf die buttons, so erscheinen diese in dem leeren Feld darunter!
- Per DropDownMenü "Aktuellste Themen aus" werden die beiden neusten Themen aus einer Kategorie ausgelesen und dargestellt.

Sobald man sich alle Links bei einer Oberrubrik anschaut und dann das DropDownMenü benutzt, verschwinden die Links.
Andersrum genauso: Wenn gerade die beiden aktuellsten Themen einer Rubrik dargestellt sind, ich mir aber die Links eines Oberpunktes (Artikel oder Interaktiv) anschauen will, verschwinden die aktuellsten Themen.
Das selbe Problem tritt auf, wenn man einen Link eines Oberpunktes anklickt. Die Seite öffnet sich (in dieser Preview nicht, weil die dateien nicht vorhanden sind), aber die Links in dem Kasten verschwinden.

Das ist erstmal so auch logisch aufgrund des Codes, aber ich will, dass diese Dinge nicht verschwinden, sobald eine andere Funktion benutzt wird.
Wie kann ich das ändern? Die Funktionen müssen ja unabhängig zueinander sein.


Der betreffende Code:
		<a href="?action=index&amp;nav=artikel"><img src="images/artikel_navi.jpg" border="0"></img></a><br />
<a href="?action=index&amp;nav=interaktiv"><img src="images/interaktiv_navi.jpg" border="0"></img></a><br />
<a href="?section=fotos&sid=<? echo $PHPSESSID; ?>" class="menu"><img src="images/fotos_navi.jpg" border="0"></img></a>

<div id="navigation_small">

<div id="navi_text">
<?php
if($_GET['nav']=="artikel"zwinkern{
echo '<div style="float: left;"><a href="?section=artikel&action=cat&catid=4&sid='.$PHPSESSID.'">Lokales </a><br/>
<a href="?section=artikel&action=cat&catid=2&sid='.$PHPSESSID.'">Medien </a><br/>
<a href="?section=artikel&action=cat&catid=6&sid='.$PHPSESSID.'">Meinungen </a><br/>
<a href="?section=artikel&action=cat&catid=5&sid='.$PHPSESSID.'">Politik </a></div>
<div style="float: left;"><a href="?section=artikel&action=cat&catid=3&sid='.$PHPSESSID.'">Schule </a><br/>
<a href="?section=artikel&action=cat&catid=7&sid='.$PHPSESSID.'">Unterwegs </a></div>'; }
elseif($_GET['nav']=="interaktiv"zwinkern{
echo '<a href="?section=gbook&sid='.$PHPSESSID.'">G&auml;stebuch</a><br/>
<a href="?section=radio&sid='.$PHPSESSID.'">Radio</a><br/>
<a href="?section=forum&sid='.$PHPSESSID.'">Forum</a><br/>
<a href="?section=interaktiv&sid='.$PHPSESSID.'">Umfrage</a>'; }
elseif($_GET['nav']=="fotos"zwinkern{
echo "&nbsp;"; }
?>

</div>

</div>

</div>

<div id="head_content">

<div id="head_text">
<form action="?action=index" method="POST">
<select name="kategorie" onchange="form.submit();">
<option value="0">Aktuellste Themen aus</option>
<option value="1">Computer</option>
<option value="2">Medien</option>
<option value="3">Schule</option>
<option value="4">Lokales</option>
<option value="5">Politik</option>
<option value="6">Meinungen</option>
<option value="6">Unterwegs</option>
</select>
</form>

<?php
if(!empty($_POST['kategorie'])) {

$abfrage = "SELECT * FROM gag_artikel WHERE cat = ".$_POST['kategorie']." LIMIT 0, 2";
$ergebnis= mysql_query($abfrage,$verbindung);
while($zeile = mysql_fetch_array($ergebnis)) {
echo '<table width="100%">
<tr>
<td width="11%">';

if (file_exists("images/artikel/vor/" . $zeile['id'] . ".jpg"zwinkern) {
$bild = "artikel/vor/".$zeile['id'].".jpg"; }
else {
$bild = "trans.gif"; }

echo ' <img src="images/'.$bild.'" border="0" height="38" width="49"></td>
<td><span style="color: #EEEEEE;"><b>'.$zeile['titel'].'</b></span><br/><span style="color: #EEEEEE;">'.substr($zeile['text'],0,70).'...</span> <a href="?section=artikel&action=artikel&catid='.$zeile['cat'].'&artikelid='.$zeile['id'].'&sid='.$PHPSESSID.'">[weiterlesen]</a></td>
</tr>
</table>'; }

}
?>
</div>


wär euch dankbar, wenn mir einer helfen könnte.

user-173
03.03.2006 16:36

hääääääää?!?!?

Abi 2oo7
Avatar user-317
03.03.2006 16:42

Dachte ich mir erlich gesagt auch.
Du hast also praktisch so ein Menü :

Parent---|
- Child
- Child
- Child
Parent2--|
- Child
- Child
- Child


Seh ich das richtig?

Edit : Ach jetzt. Du musst natürlich immer deine mommentane Kategorie mitschicken.
Entweder an alle Links dranhängen, oder halt in eine Session schreiben.

user-150
03.03.2006 16:47

kp aber ggf hilft ja

 
<?php
$nav = $_GET['nav'];
if($nav=="artikel"zwinkern{
echo '<div style="float: left;"><a href="?section=artikel&action=cat&catid=4&sid='.$PHPSESSID.'">Lokales </a><br/>
<a href="?section=artikel&action=cat&catid=2&sid='.$PHPSESSID.'">Medien </a><br/>
<a href="?section=artikel&action=cat&catid=6&sid='.$PHPSESSID.'">Meinungen </a><br/>
<a href="?section=artikel&action=cat&catid=5&sid='.$PHPSESSID.'">Politik </a></div>
<div style="float: left;"><a href="?section=artikel&action=cat&catid=3&sid='.$PHPSESSID.'">Schule </a><br/>
<a href="?section=artikel&action=cat&catid=7&sid='.$PHPSESSID.'">Unterwegs </a></div>'; }
elseif($nav=="interaktiv"zwinkern{
echo '<a href="?section=gbook&sid='.$PHPSESSID.'">G&auml;stebuch</a><br/>
<a href="?section=radio&sid='.$PHPSESSID.'">Radio</a><br/>
<a href="?section=forum&sid='.$PHPSESSID.'">Forum</a><br/>
<a href="?section=interaktiv&sid='.$PHPSESSID.'">Umfrage</a>'; }
elseif($nav=="fotos"zwinkern{
echo "&nbsp;"; }
?>


in verbindung mit

<form action="?action=index&amp;nav=<?= $nav; ?>" method="POST"> 

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
Avatar user-317
03.03.2006 16:50

Original von user-317
Edit : Ach jetzt. Du musst natürlich immer deine mommentane Kategorie mitschicken.
Entweder an alle Links dranhängen, oder halt in eine Session schreiben.


zwinkern

user-333
03.03.2006 17:30

@ user-317: richtig lächeln
Ich habe an jede url jetzt die variable "nav" mitgesendet. Funktioniert auch soweit.
Aber sobald ich die beiden neusten Artikel der Kategorie aufrufe und danach den button artikel anklicke, verschwinden die artikel.

EDIT //
Neuer Code unten

Avatar user-317
03.03.2006 17:36

Ich blick da nicht ganz durch xD
Mach mal nen Abgleich von deiner $_POST und deiner $_GET Variable für die Kategorien.

user-333
03.03.2006 23:49

was meinst du mit Abgleich? traurig

user-333
04.03.2006 19:19

sorry für doppelpost, aber ich muss nun mal pushen lächeln

Also soweit klappt alles. Aber sobald ich die die beiden neusten Themen der Kategorie mir anschaue, sind die links weg...

user-150
05.03.2006 08:50

$_GET['nav']=="artikel" OR $_POST['nav']


damit überprüfst du ja nur ob $_GET['nav']= artikel ist oder $_POST['nav'] gesetzt ist, oder?

wie wäre es mit

$_GET['nav']=="artikel" OR $_POST['nav']=="artikel" 

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
user-333
05.03.2006 09:37

ich glaub ihr versteht nicht was ich will lächeln
Besucht also mal bitte folgende Adresse: http://www.tr-art.de/demo/gag/

Ihr klickt auf "Artikel" in der Navigation oben links. In der noch leeren Box erscheinen 6 Links.
Nun bedient ihr das DropDownMenü rechts daneben. Ich wählt "Meinungen" aus und es erscheinen 2 Artikel.
-> Währenddessen sind die Links in der Box allerdings verschwunden.

Nun ist die Box leer, aber es werden 2 Artikel angezeigt. Nun klickt ihr wieder auf "Artikel" und es erscheinen wieder 6 Links in der leeren Box.
-> Währenddessen sind die beiden Artikel verschwunden.

Frage: Ich will, dass die beiden neusten Artikel einer Rubrik (aufgerufen durch das DropDownMenü) auch angezeigt werden, wenn ich zwischendurch auf den Navigationspunkt "Artikel" klicke.

Ich hoffe ihr habt das nun verstanden.

user-150
05.03.2006 09:58

ah k

du hast ja
if(!empty($_POST['kategorie'])) {

und wenn du jetzt kein punkt auswählst, is das natürlich leer
du bräuchtest jetzt noch ne variable, die dir sagt, ob schonmal ne kategorie ausgewählt wurde und dann schaust halt ob die gesetzt ist, ähnlich diesem
if(!empty($_POST['kategorie'])
|| !empty($kat)) {
if(!empty($_POST['kategorie']) ){
$kat = $_POST['kategorie'];
}
$abfrage = "SELECT * FROM gag_artikel WHERE cat = $kat LIMIT 0, 2";

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
Avatar user-255
05.03.2006 10:27

Original von user-333
Nun ist die Box leer

nav=artikel fehlt.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-333
06.03.2006 18:51

@ sucker: funktioniert nicht.

Also ich habe jetzt beispielsweise "Artikel" angeklickt und bediene nun das DopDownMenü.
Die Links verschwinden nicht: funktioniert.



Wenn ich jetzt allerdings "Interaktiv" anklicke, während die beiden neusten Artikel einer Rubrik angezeigt werden (durch das DropDownMenü aufgerufen),verschwinden diese beiden Artikel. Das ist noch nicht gelöst.

Avatar user-255
06.03.2006 19:13

Original von user-333
Wenn ich jetzt allerdings "Interaktiv" anklicke, während die beiden neusten Artikel einer Rubrik angezeigt werden (durch das DropDownMenü aufgerufen),verschwinden diese beiden Artikel.

nav=interaktiv fehlt.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-333
06.03.2006 19:45

öhm, auch wenn ich" interaktiv" angeklickt habe, dann das DropDownMenü bediene und danach "artikel" anklicke, verschwinden die beiden neusten artikel.

@ user-255: kannst du dich vielleicht ein bisschen umfangreicher ausdrücken? zwinkern Deine 3 Wörter Posts kann ich nicht nachvollziehen... traurig

Avatar user-255
06.03.2006 20:00

Bei Interaktiv wird der Parameter "nav" nicht übergeben, deshalb gibt's auch keine Navi. Logisch, oder? zwinkern

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-333
06.03.2006 20:10

upsala, sorry user-255, aber der fehler war schon lange behoben. Okay, konntest du nicht wissen lächeln *duck*

Also hier ist der code - das ist der aktuelle stand!


		<div id="navigation_small">

<div id="navi_text">
<?php
if($_GET['nav']=="artikel" OR $_POST['nav']=="interaktiv" OR isset($_POST['kategorie'])){
echo '<div style="float: left;"><a href="?section=artikel&action=cat&catid=4&nav='.$_GET['nav'].'&sid='.$PHPSESSID.'">Lokales </a><br/>
<a href="?section=artikel&action=cat&catid=2&nav='.$_GET['nav'].'&sid='.$PHPSESSID.'">Medien </a><br/>
<a href="?section=artikel&action=cat&catid=6&nav='.$_GET['nav'].'&sid='.$PHPSESSID.'">Meinungen </a><br/>
<a href="?section=artikel&action=cat&catid=5&nav='.$_GET['nav'].'&sid='.$PHPSESSID.'">Politik </a></div>
<div style="float: left;"><a href="?section=artikel&action=cat&catid=3&nav='.$_GET['nav'].'&sid='.$PHPSESSID.'">Schule </a><br/>
<a href="?section=artikel&action=cat&catid=7&nav='.$_GET['nav'].'&sid='.$PHPSESSID.'">Unterwegs </a></div>'; }
elseif($_GET['nav']=="interaktiv" OR $_POST['nav']=="interaktiv"zwinkern{
echo '<a href="?section=gbook&nav='.$_GET['nav'].'&sid='.$PHPSESSID.'">G&auml;stebuch</a><br/>
<a href="?section=radio&nav='.$_GET['nav'].'&sid='.$PHPSESSID.'">Radio</a><br/>
<a href="?section=forum&nav='.$_GET['nav'].'&sid='.$PHPSESSID.'">Forum</a><br/>
<a href="?section=interaktiv&nav='.$_GET['nav'].'&sid='.$PHPSESSID.'">Umfrage</a>'; }
elseif($_GET['nav']=="fotos" OR $_POST['nav']=="fotos"zwinkern{
echo "&nbsp;"; }
?>

</div>

</div>

</div>

<div id="head_content">

<div id="head_text">
<form action="?action=index" method="POST">
<select name="kategorie" onchange="form.submit();">
<option value="0">Aktuellste Themen aus</option>
<option value="1">Computer</option>
<option value="2">Medien</option>
<option value="3">Schule</option>
<option value="4">Lokales</option>
<option value="5">Politik</option>
<option value="6">Meinungen</option>
<option value="6">Unterwegs</option>
</select><input type="hidden" value="<?= $_GET['nav']; ?>" name="nav">
</form>

<?php
$kategorie = $_POST['kategorie'];
if(!empty($_POST['kategorie']) OR !empty($kategorie)) {

$kategorie = $_POST['kategorie'];
$abfrage = "SELECT * FROM gag_artikel WHERE cat = ".$_POST['kategorie']." LIMIT 0, 2";
$ergebnis= mysql_query($abfrage,$verbindung);
while($zeile = mysql_fetch_array($ergebnis)) {
echo '<table width="100%">
<tr>
<td width="11%">';

if (file_exists("images/artikel/vor/" . $zeile['id'] . ".jpg"zwinkern) {
$bild = "artikel/vor/".$zeile['id'].".jpg"; }
else {
$bild = "trans.gif"; }

echo ' <img src="images/'.$bild.'" border="0" height="38" width="49"></td>
<td><span style="color: #EEEEEE;"><b>'.$zeile['titel'].'</b></span><br/><span style="color: #EEEEEE;">'.substr($zeile['text'],0,70).'...</span> <a href="?section=artikel&action=artikel&catid='.$zeile['cat'].'&artikelid='.$zeile['id'].'&sid='.$PHPSESSID.'">[weiterlesen]</a></td>
</tr>
</table>'; }

}
?>
</div>

</div>

Avatar user-255
06.03.2006 20:13

Dann aktualisiere auch gleich mal die online Version. Oder funktioniert etwa schon alles? 8o

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-333
07.03.2006 16:07

es funktioniert nicht das "umschalten" vom drop down menü zur normalen navigation.
www.tr-art.de/demo/gag -- aktuelle Version

Avatar user-255
07.03.2006 18:26

Und nochmal auf Deutsch?

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-333
07.03.2006 19:07

du kannst es ja ausprobieren auf der previewseite:

ich bediene das drop down menü - die beiden aktuellsten artikel der gewählten rubrik erscheinen. user-158ach klicke ich auch "artikel" oder "interaktiv" oder "fotos" und die beiden artikel verschwinden.

Das Problem muss noch gelöst werden.

Avatar user-255
07.03.2006 19:44

Ahh, jetz hab ich's verstanden. Fettes Grinsen

Das mit den Kurznews ist auch nicht besonders dolle gelöst, wie ich finde.
Denn für die paar Worte die ganze Seite neu zu laden.... naja, ne. zwinkern

Mach doch sowas ähnliches wie ein Dropdown-Menü:
Oben sind nebeneinander die Kategorien aufgelistet. Überfährt man nun mit der Maus eine Kategorie, so werden unterhalb die entsprechenden Links eingeblendet.

Und das alles, ohne die Seite neu laden zu müssen. lächeln

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-333
08.03.2006 18:39

'tschuldigung lächeln Ja ich kann mich auch besser ausdrücken zwinkern

Hmm, eigentlich möchte ich das auf diese Weise beibehalten. Ist das so ein Problem? Kann man das nicht mit Javascript darein laden?

Ich beschäftige mich nun schon seit einigen Tagen mit dme Problem und das will ich nun auch noch lösen lächeln Trotzdem die Frage bleibt: Wie.. lächeln

Gibt es da wirklich keine lösung?

Avatar user-255
08.03.2006 18:46

Du solltest das Formular auf GET umstellen und keine action angeben, sodass die aktuellen Parameter beibehalten werden und nicht nur der "kurznews" Parameter übergeben wird.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-333
08.03.2006 19:17

und wie ginge das konkret?

Avatar user-255
08.03.2006 19:18

<form method="get">

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-333
08.03.2006 19:26

wenn blödheit weh tun würde...
dank dir!!!