1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

(PHP) Erledigte aus und wieder einblenden via Button

Dieses Thema im Forum "PHP & Co." wurde erstellt von Tyrra, 17.07.09.

  1. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Hallo, ich habe folgendes Problem - ich möchte das Beiträge welche mit "Erledigt" gekennzeichnet sind via Button aus und wieder eingeblendet werden können.


    php------------------------------

    select = mysql_query("SELECT * from data ORDER BY ma_id DESC");
    $reihen = mysql_num_rows($select);
    $zeigen = floor($reihen / 23);
    if (!$start)
    {
    $start = '0';
    }
    $result = mysql_query("select * FROM lohi_marketing.data ORDER BY ma_id DESC limit $start,23");
    $arr = mysql_fetch_array($result);
    $num = mysql_num_rows($result);

    for ($i = 0; $i < count($result) ; $i++)
    if ($num > 0)
    {
    for ($i = 0; $i < $num ; $i++)
    {
    $ma_id = mysql_result($result, $i, "ma_id");
    $betreff = mysql_result($result, $i, "betreff");
    $faellig_am = mysql_result($result, $i, "faellig_am");
    $prioritaet = mysql_result($result, $i, "prioritaet");
    $status = mysql_result($result, $i, "status");
    $zustaendig_1 = mysql_result($result, $i, "zustaendig_1");
    $zustaendig_2 = mysql_result($result, $i, "zustaendig_2");
    $zustaendig_3 = mysql_result($result, $i, "zustaendig_3");
    $zustaendig_4 = mysql_result($result, $i, "zustaendig_4");
    $mitbeteiligt_1 = mysql_result($result, $i, "mitbeteiligt_1");
    $mitbeteiligt_2 = mysql_result($result, $i, "mitbeteiligt_2");
    $mitbeteiligt_3 = mysql_result($result, $i, "mitbeteiligt_3");
    $mitbeteiligt_4 = mysql_result($result, $i, "mitbeteiligt_4");
    $kategorie = mysql_result($result, $i, "kategorie");
    $aufgabendefinition = mysql_result($result, $i, "aufgabendefinition");
    $upload = mysql_result($result, $i, "upload");
    $ersteller = mysql_result($result, $i, "ersteller");



    //Ausgabe der Variablen (Alle)
    echo "<table width='100%' border='0' cellpadding='2' cellspacing='1'>";
    echo "<tr>";
    // echo "<td width='30' height='28' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$ma_id</font></td>";//laufende Nummer
    echo "<td width='40' height='30' bgcolor=\"$farbe\">$upload</td>";//Anhänge
    echo "<td width='40' bgcolor=\"$farbe\">$userkennung_upload</td>";//Anhänge Kommentare
    echo "<td width='40' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$kommentare</font></td>";//kommentare abgegeben
    echo "<td width='350' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$betreff</font></td>";//Betreff
    echo "<td width='150' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$zustaendig_1 $zustaendig_2 $zustaendig_3 $zustaendig_4</font></td>";//Zuständig
    echo "<td width='140' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$kategorie</font></td>";//kategorie
    echo "<td width='150' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$faellig_am</font></td>";//Fälligkeitsdatum
    echo "<td width='150' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$geaendert_am</font></td>";//Änderungsdatum
    echo "<td width='80' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$prioritaet</font></td>";//Priorität
    echo "<td bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$status</font></td>";//Status
    echo "</tr>";
    echo "</table>";

    php-------------------------------

    [​IMG]

    Den kompletten Code der Seite habe ich mal als TXT mit drangehängt
     
  2. MaxiMillion

    MaxiMillion Granny Smith

    Dabei seit:
    13.07.09
    Beiträge:
    15
    Ich gucke.
     
  3. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    :) wollte dich grade via PN noch Fragen ob du das evtl auch mal checken könntest!
     
  4. MaxiMillion

    MaxiMillion Granny Smith

    Dabei seit:
    13.07.09
    Beiträge:
    15
    Du hast Post. Habs dir mal angepasst.
     
  5. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Verstehe was der Code macht - auch wenn grade nicht viel passiert ;) ... gibt es die Möglichkeit das auch via Button aus- und wieder einzubleneden?
     
  6. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Bin noch nicht wirklich weiter gekommen - hat jemand eine Idee wie ich das via Button ausblenden kann?

    <script type = "text/javascript">
    function show_hide(row_id){
    if(document.getElementById(row_id).style.display == 'block'){
    document.getElementById(row_id).style.display = 'none';
    }else{
    document.getElementById(row_id).style.display = 'block';
    }
    }
    </script>

    .
    .
    .
    //Ausgabe der Variablen (Alle)
    echo "<table width='100%' border='0' cellpadding='2' cellspacing='1'>";
    echo "<tr style=\'display:block;\' id=\'table_row' . $i . '\'>";
    // echo "<td width='30' height='28' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$ma_id</font></td>";//laufende Nummer
    echo "<td width='40' height='30' bgcolor=\"$farbe\">$upload</td>";//Anhänge
    echo "<td width='40' bgcolor=\"$farbe\">$userkennung_upload</td>";//Anhänge Kommentare
    echo "<td width='40' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$kommentare</font></td>";//kommentare abgegeben
    echo "<td width='300' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$betreff</font></td>";//Betreff
    echo "<td width='170' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$zustaendig_1 $zustaendig_2 $zustaendig_3 $zustaendig_4 $zustaendig_5</font></td>";//Zuständig
    echo "<td width='140' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$kategorie</font></td>";//kategorie
    echo "<td width='150' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$faellig_am</font></td>";//Fälligkeitsdatum
    echo "<td width='150' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$geaendert_am</font></td>";//Änderungsdatum
    echo "<td width='80' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$prioritaet</font></td>";//Priorität
    echo "<td bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$status</font></td>";//Status
    echo "</tr>";
    echo "</table>";
     
  7. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    EDIT: jetzt soll auch noch eine Sortierung mit rein - weis jemand wie sowas geht?
     
  8. Macropolis

    Macropolis Tokyo Rose

    Dabei seit:
    27.02.08
    Beiträge:
    68
    Du kannst es komplett clientseitig machen indem Du auf jQuery und das PlugIn TableSorter setzt.
    Damit sparst Du Dir zusätzlich Roundtrips zwischen Client und Server.

    HTH,

    Macropolis
     
  9. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    ganz nett! .. aber das implementieren übersteigt meine Fähigkeiten :(
     
  10. Grawapple

    Grawapple Uelzener Rambour

    Dabei seit:
    13.05.06
    Beiträge:
    373
    Code:
    
    <?php
    
    // Diesen Link da einbauen, wo du ihn willst
    echo'<a href="index.php?visible='.$num.'">'.$anzeigen.'</a>';
    
    // Diesen Code anstelle von "select = mysql_query("SELECT * from data ORDER BY ma_id DESC");"
    if($_GET['visible'] == 1)
    {
    select = mysql_query("SELECT * from data ORDER BY ma_id DESC");
    $num = 0;
    $text = 'Ausblenden';
    }
    else
    {
    select = mysql_query("SELECT * from data WHERE status !=".$visible." ORDER BY ma_id DESC");
    $num = 1;
    $text = 'Anzeigen';
    }
    
    
    Ich hoffe du kannst damit was anfangen. Habs nach bestem könne gemacht und es stimmt wenn ich deinen Code richtig verstanden hab, aber der ist ziemlicher Kauderwelsch....also so würd ich eine SQL-Abfrage nie lösen!!!

    LG Yatekii
     
  11. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869

    Super, werde morgen deinen Code einpflanzen ;) ... Ja, da hast du wohl Recht das mein Code ziemliches Kauderwelsch ist!

    EDIT: geht Dein Script auch mit Buttons?
     
  12. Grawapple

    Grawapple Uelzener Rambour

    Dabei seit:
    13.05.06
    Beiträge:
    373
    <?php

    // Diesen Link da einbauen, wo du ihn willst
    echo'<input type="submit" name="visible" value="'.anzeigen.'"></a>';

    // Diesen Code anstelle von "select = mysql_query("SELECT * from data ORDER BY ma_id DESC");"
    if($_POST['visible'] != '')
    {
    select = mysql_query("SELECT * from data ORDER BY ma_id DESC");
    $num = 0;
    $text = 'Ausblenden';
    }
    else
    {
    select = mysql_query("SELECT * from data WHERE status !=".$visible." ORDER BY ma_id DESC");
    $num = 1;
    $text = 'Anzeigen';
    }
     
    Tyrra gefällt das.
  13. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Ich habe ein Javascript eingebaut welches via DIV Bereiche ein- und ausblendet
    (Wobei Deine vorhergehende Variante mir besser gefällt ;)

    PHP:
    <script language="javascript">
    function 
    Anzeigestatus_aendern(element_id)
    {
      if(
    document.getElementById(element_id).style.display == "block")
        
    document.getElementById(element_id).style.display "none";
      else
        
    document.getElementById(element_id).style.display "block";
    }
    </
    script>


    das dann mit einer Checkbox verbunden:

    PHP:
    <input type="checkbox" onchange="Anzeigestatus_aendern('eins')"


    Jetzt möchte ich das alle Beiträge welche im Status "Erledigt" haben ausgeblendet werden.

    Ich hatte versucht das über die Ausgabetabelle zu steuern aber das funktioniert nicht.

    PHP:
           echo "<table width='100%' border='0' cellpadding='2' cellspacing='1'>";
            echo 
    "<tr>";
            echo 
    "<td width='25' height='30' bgcolor=\"$farbe\">$upload</td>";//Anhänge
            
    echo "<td width='25' bgcolor=\"$farbe\">$userkennung_upload</td>";//Anhänge Kommentare
            
    echo "<td width='40' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$kommentare</font></td>";//kommentare abgegeben
            
    echo "<td width='300' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$betreff</font></td>";//Betreff
            
    echo "<td width='170' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$zustaendig_1 $zustaendig_2 $zustaendig_3 $zustaendig_4 $zustaendig_5</font></td>";//Zuständig
            
    echo "<td width='140' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$kategorie</font></td>";//kategorie
            
    echo "<td width='90' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'><center>$faellig_am</center></font></td>";//Fälligkeitsdatum
            
    echo "<td width='150' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$geaendert_am</font></td>";//Änderungsdatum
            
    echo "<td width='80' bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$prioritaet</font></td>";//Priorität
            
    echo "<td bgcolor=\"$farbe\"><font color='#010000' size='2' face='Arial, Helvetica, sans-serif'>$status</font></td>";//Status
            
    echo "</tr>";
            echo 
    "</table>";


    Muss das über die SQL-Abfrage gesteuert werden?

    PHP:
    include ("db_connect.php");

    $select mysql_query("SELECT * from data ORDER BY ma_id DESC");
    $reihen mysql_num_rows($select);
    $zeigen floor($reihen 15);
    if (!
    $start

    $start '0'
    }
    $result mysql_query("select *  FROM lohi_marketing.data ORDER BY ma_id DESC limit $start,15");
    $arr mysql_fetch_array($result);
    $num mysql_num_rows($result); 

            for (
    $i 0$i count($result) ; $i++) 
            if (
    $num  0)
            {
            for (
    $i 0$i $num $i++)
            {
            
    $ma_id mysql_result($result$i"ma_id");
            
    $betreff mysql_result($result$i"betreff");
            
    $faellig_am mysql_result($result$i"faellig_am");
            
    $prioritaet mysql_result($result$i"prioritaet");
            
    $status mysql_result($result$i"status");
            
    $zustaendig_1 mysql_result($result$i"zustaendig_1");
            
    $zustaendig_2 mysql_result($result$i"zustaendig_2");
            
    $zustaendig_3 mysql_result($result$i"zustaendig_3");
            
    $zustaendig_4 mysql_result($result$i"zustaendig_4");
            
    $zustaendig_5 mysql_result($result$i"zustaendig_5");        
            
    $mitbeteiligt_1 mysql_result($result$i"mitbeteiligt_1");
            
    $mitbeteiligt_2 mysql_result($result$i"mitbeteiligt_2");
            
    $mitbeteiligt_3 mysql_result($result$i"mitbeteiligt_3");
            
    $mitbeteiligt_4 mysql_result($result$i"mitbeteiligt_4");
            
    $mitbeteiligt_5 mysql_result($result$i"mitbeteiligt_5");        
            
    $kategorie mysql_result($result$i"kategorie");
            
    $aufgabendefinition mysql_result($result$i"aufgabendefinition");
            
    $upload mysql_result($result$i"upload");
            
    $ersteller mysql_result($result$i"ersteller"); 
       


    Hier die Ausgabe mit dem DIV wo auch bei Klick "Ein" ausgeblendet wird:

    PHP:
    echo '<div id="eins" style="display:block;">Ein</div>';
     
  14. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Hier mal die Aktuelle seite als Code
     
  15. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Thema ist Erledigt! Danke allen für die super Tipps!
     
  16. Tyrra

    Tyrra Holländischer Prinz

    Dabei seit:
    17.12.07
    Beiträge:
    1.869
    Zu Früh gefreut :( ... es funktioniert NUR im aktuellen Firefox und im Safari! Im IE und ältere FF-Versionen gehen nicht!

    Habe mal die Java-Script Datei rangehängt (musste sie als TXT markieren weil sonst der Upload nicht funzt).

    So siehst im Quellcode aus:

    Java-Script -----------------------
    <script src="jquery-1.3.js" type="text/javascript" language='JavaScript'></script>
    <script language='JavaScript'>
    function change_all(ausblenden){
    if(ausblenden){
    $('#zeile.erledigt').css('display','none');
    } else {
    $('#zeile.erledigt').css('display','');
    }
    }
    </script>

    Java-Script -----------------------

    PHP -------------------------
    <input type="checkbox" name="ausblenden" onchange="change_all(this.checked);">
    PHP -------------------------

    (weiter unten (ist in der TR von dem Ausgabeblock der Variablen)):

    PHP -------------------------
    echo '<tr id="zeile" class="'.strtolower(str_replace(' ','',strip_tags($status))).'">';
    PHP --------------------------

    EDIT: was auch nicht schlecht wäre wenn die "Erledigten" standardmäßig immer ausgeblendet sind und bei Klick lediglich wieder eingeblendet werden!
     

Diese Seite empfehlen