kostenloser Webspace werbefrei: lima-city


Benötige Hilfe bei Navigation

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s************k

    Hallo,
    ich möchte auf meiner Seitehttp://show-ts.bplaced.net/aws/ links in der navigation für jeden server einen grünen bzw rotern hintergrund. Habe in meiner MySQL DB für jeden server eine ID (0-19) und dazu einen Wert (1 oder 2).
    1=Server frei->grün
    2=Server belegt->rot

    Mein bisheriger Code sieht so aus:
    /*[...]*/
    <?PHP
    }
    elseif ($page=="site=p31")
    {
    ?>
    <?PHP include_once("include/nav1.php"); ?>
    <?php
    //Auslesen
    $werte = mysql_query("SELECT ts_server_frei_besetzt FROM ts_server ORDER BY ts_server_id ASC"); 
    //Ausgeben
    while($inhalt = mysql_fetch_array($werte, MYSQL_ASSOC)){
    $feld[] = $inhalt['ts_server_frei_besetzt'];
    
    echo "
    <br />
    <br />
    <h1>Teamspeak 3 Server</h1>
    <ul>
    <li><a href=\"index.php?site=p31\"";if($feld[1]==1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server 1</a></li>
    <li><a href=\"index.php?site=p32\"";if($feld[2]==1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server 2</a></li>
    <li><a href=\"index.php?site=p33\"";if($feld[3]==1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server 3</a></li>
    <li><a href=\"index.php?site=p34\"";if($feld[4]==1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server 4</a></li>
    <li><a href=\"index.php?site=p35\"";if($feld[5]==1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server 5</a></li>
    <li><a href=\"index.php?site=p36\"";if($feld[6]==1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server 6</a></li>
    <li><a href=\"index.php?site=p37\"";if($feld[0]==1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server 7</a></li>
    <li><a href=\"index.php?site=p38\"";if($feld[7]==1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server 8</a></li>
    <li><a href=\"index.php?site=p39\"";if($feld[8]==1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server 9</a></li>
    <li><a href=\"index.php?site=p40\"";if($feld[9]==1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server 10</a></li>
    </ul>
    <h2 style=\"padding:220px 0 0 0;\"></h2>
    ";
    }
    ?>
    <?PHP include_once("include/nav3.php"); ?>
    /*[...]*/


    Mein Problem ist nun, das es sich auf der Seite ziemlich oft wiederholt...
    Ein Kollege meinte ich soll es mit foreach machen, aber da ich noch eine ganze Weile brauche, um PHP zu checken, biete ich demjeniger, der es schafft das es so aussieht wie es sein soll, 5 Euro.
    Gerne auch per ICQ / Skype ->PN
    Ein weiteres Problem, das Mousehover an der Stelle nicht funktioniert.

    Beitrag zuletzt geändert: 14.8.2010 18:56:01 von show-teamspeak
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. zunächst einmal sehe ich da nur ne frage, welche zahl ich sehe 75, 94 oder 74 ???

    und billige travian werbung etc.


    ich würd dir raten das da runter zu nehmen oder du kannst davon ausgehen, das dir niemand hilft, weil niemand weiss was du meinst!

    Beitrag zuletzt geändert: 14.8.2010 18:50:48 von t-li
  4. Autor dieses Themas

    s************k

    was soll ich runternehmen?
    was ist travian werbung?
    ich versteh überhaupt nicht, was du meinst..
    EDIT: sorry, link war falsch

    Beitrag zuletzt geändert: 14.8.2010 18:56:15 von show-teamspeak
  5. <?PHP
    //auslesen
    	$werte = mysql_query("SELECT ts_server_frei_besetzt FROM ts_server ORDER BY ts_server_id ASC"); 
    	while($inhalt = mysql_fetch_array($werte, MYSQL_ASSOC)){
    		$feld[] = $inhalt['ts_server_frei_besetzt'];
    	}
    //predefine
    	$klasse = array('', 'frei', 'belegt');
    //ausgeben
    	echo '<br /><br />\n<h1>Teamspeak 3 Server</h1>\n <ul>';
    	foreach($feld as $k => $v){
    		echo '<li><a href="index.php?site=p31" class="'.$klasse[$v].'">Server '.$k.'</a></li>\n';
    		}
    	echo '</ul>';
    ?>
    Wenn ich richtig verstanden habe, was du vor hast.

    EDIT: Korrektur, ich denke ich habe da was falsch verstanden. Sollte nun stimmen.

    Beitrag zuletzt geändert: 14.8.2010 19:09:47 von nerdinator
  6. mir scheint es zumindest so, das mousehover überll klappt...
    €dit: müsste es nicht heißen
    <?PHP
    //predefine
    	$klasse = array('', 'frei', 'belegt');
    //auslesen
    	$werte = mysql_query("SELECT ts_server_frei_besetzt FROM ts_server ORDER BY ts_server_id ASC"); 
    	while($inhalt = mysql_fetch_array($werte, MYSQL_ASSOC)){
    		$feld[] = $inhalt['ts_server_frei_besetzt'];
    //ausgeben
    	echo '<br /><br />\n<h1>Teamspeak 3 Server</h1>\n <ul>';
    	foreach($feld as $k => $v){
    		echo '<li><a href="index.php?site=p31" class="'.$klasse[$v].'">Server '.$k.'</a></li>\n';
    		}
    	echo '</ul><h2 style="padding:220px 0 0 0;"></h2>';
            }
    ?>
    ?????????

    Beitrag zuletzt geändert: 14.8.2010 19:24:40 von t-li
  7. Autor dieses Themas

    s************k

    schauts euch an.
    bei nerdinator sieht man die /n und
    bei t-li gibt es mehrere boxen, nur jede weitere hat eine zeile mehr
    was mir auffällt, das überall der gleiche link ist, sollte aber p31, p32, p33... sein

    so hatte ich es vorher:
    <?php
    //Auslesen
    $werte = mysql_query("SELECT ts_server_frei_besetzt FROM ts_server ORDER BY ts_server_id ASC"); 
    //Ausgeben
    while($inhalt = mysql_fetch_array($werte, MYSQL_ASSOC)){
    $feld[] = $inhalt['ts_server_frei_besetzt'];
    }
    
    echo"<h1>Teamspeak 3 Server</h1>\n";
    echo"<ul>\n";
    
    
    foreach($feld as $id => $count)
    {
    echo"<li><a href=\"index.php?site=p31\"";if($id == 1) {echo "class=\"free\"";} else {echo "class=\"belegt\"";}echo ">Server ".$count."</a></li>\n";
    }
    
    echo"</ul>\n";
    ?>


    Beitrag zuletzt geändert: 14.8.2010 19:41:27 von show-teamspeak
  8. sag das doch gleich!

    das ist der code von nerdinator etwas abgewandelt:

    <?PHP
    //predefine
    	$klasse = array('', 'frei', 'belegt');
    
    //auslesen
    	$werte = mysql_query("SELECT ts_server_frei_besetzt FROM ts_server ORDER BY ts_server_id ASC"); 
    	while($inhalt = mysql_fetch_array($werte, MYSQL_ASSOC)){
    		$feld[] = $inhalt['ts_server_frei_besetzt'];
    	}
    
    //ausgeben
    	echo '<br /><br />';
    	echo '<h1>Teamspeak 3 Server</h1>';
    	echo '<ul>';
    	foreach($feld as $k => $v){
    		echo '<li><a href="index.php?site=p3'.$k.'" class="'.$klasse[$v].'">Server '.$k.'</a></li>';
    		}
    	echo '</ul>';
    ?>


    €dit: soll nummer 10 dann index.php?site=p310 oder index.php?site=p40 sein?

    €dit2: ich würd das predefine vor auslese setzen

    Beitrag zuletzt geändert: 14.8.2010 19:57:32 von t-li
  9. Ehm... Dann lass meinetwegen die \n's weg. Hab ich übersehen, dass man das sieht :D

    das mit dem p31 und so weiter kannst du lösen, indem du
    echo '<li><a href="index.php?site=p'.intval($k)+30.'" class="'.$klasse[$v].'">Server '.$k.'</a></li>';
    benutzt. Oder so ähnlich ^^
  10. Autor dieses Themas

    s************k

    echo '<li><a href="index.php?site=p'.intval($k+30).'" class="'.$klasse[$v].'">Server '.($k+1).'</a></li>';

    so!

    1. Kann man das auch so machen, das er die ersten 10 links nur auflistet und in einer 2. box ab dem 11. link wieder anfängt?
    2. Bei mir geht das Mouseover nicht, wo die class-Grafiken sind.

    Beitrag zuletzt geändert: 14.8.2010 20:07:31 von show-teamspeak
  11. Vielleicht solltest du dir zuerst überlegen, wie du das ganze haben willst, dein Problem ausreichend spezifizieren und dann nochmal die Frage komplett stellen.

    Es lässt sich nahezu alles machen. Allerdings bieten sich für verschiedene Dinge verschiedene Möglichkeiten an.
  12. zu 1) etwa so...
    if($k <= 10){//erste box code reinpacken
    echo '<li><a href="index.php?site=p'.intval($k+30).'" class="'.$klasse[$v].'">Server '.($k+1).'</a></li>';
    }elseif($k > 10 && <= 20){//neue box code reinpacken
    echo '<li><a href="index.php?site=p'.intval($k+30).'" class="'.$klasse[$v].'">Server '.($k+1).'</a></li>';
    }elseif($k > 20 && <= 30){...}

    €dit: hatte bis eben noch n fehler drin, ...

    Beitrag zuletzt geändert: 14.8.2010 20:15:07 von t-li
  13. Autor dieses Themas

    s************k

    Ich möchte, das ich die Server in 10er Packs habe, wie auf www.show-ts.tk
    also Server 0-9 in der 1. Box und Server 10-19 in der 2. Box
    EDIT: ok, danke t-li

    und dann halt das mouseover. hier mal ein ausschnitt auf meiner css

    #menu ul li a:link, #menu ul li a:visited {
    color:#6392bc;
    display: block;
    margin-left:4px;
    width:170px; /*200-30 wegen padding*/
    float:left;
    background: url(../images/button.png);
    background-repeat:no-repeat;
    padding: 0 0 0 30px;
    }
    #menu ul li a:hover {
    color: #6392bc;
    background: url(../images/buttonhover.png);
    text-decoration:underline;
    background-repeat:no-repeat;
    padding: 0 2px 0 28px;
    font-weight:600;
    }
    #menu ul li a.active {
    color:#6392bc;
    background: url(../images/buttonhover.png);
    background-repeat:no-repeat;
    padding: 0 0 0 30px;
    }
    #menu ul li a.frei {
    color:#6392bc;
    background: url(../images/buttonfree.png);
    background-repeat:no-repeat;
    padding: 0 0 0 30px;
    text-decoration:none;
    font-weight:500;
    }
    #menu ul li a.belegt {
    color:#6392bc;
    background: url(../images/buttonbelegt.png);
    background-repeat:no-repeat;
    padding: 0 0 0 30px;
    text-decoration:none;
    font-weight:500;
    }


    Beitrag zuletzt geändert: 14.8.2010 20:12:39 von show-teamspeak
  14. also bei mir scheint das hovern zu funktionieren, allerdings sehe ich nicht, welcher belegt ist & welcher nicht...
  15. Autor dieses Themas

    s************k

    http://www.youtube.com/watch?v=gS-v-NaiJts


    wie sieht es denn bei dir aus? screenshot oder so

    Beitrag zuletzt geändert: 14.8.2010 20:45:06 von show-teamspeak
  16. Du hast noch den alten Code auf Deiner Startseite.
    Meine diese:
    http://show-ts.bplaced.net/aws/index.php

    Wenn man auf die server klickt ist's auf dem neuesten Stand:

    http://show-ts.bplaced.net/aws/index.php?site=p31

    €dite :
    anscheinend nur auf p31 aktuell.....

    Beitrag zuletzt geändert: 14.8.2010 21:58:40 von simuliertes
  17. Autor dieses Themas

    s************k

    ja, ich mache der erst komplett fertig, wenn alles funktioniert.

    jemand ne ahnugn, wieso das hovern auf p31 ncith funktioniert?

    muss ich evtl. zu
    #menu ul li a.belegt {
    }


    ein

    #menu ul li a.belegt:hover {
    }


    hinzufügen?

    Beitrag zuletzt geändert: 15.8.2010 13:06:10 von show-teamspeak
  18. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!