(PHP) Erledigte aus und wieder einblenden via Button

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
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-------------------------------

attachment.php


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

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
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>";
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
EDIT: jetzt soll auch noch eine Sortierung mit rein - weis jemand wie sowas geht?
 

Grawapple

Uelzener Rambour
Registriert
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
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
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


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?
 

Grawapple

Uelzener Rambour
Registriert
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';
}
 
  • Like
Reaktionen: Tyrra

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
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>';
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
Hier mal die Aktuelle seite als Code
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
Thema ist Erledigt! Danke allen für die super Tipps!
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
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!