Aufgaben nach Datum sortieren

chuvak

Erfahrenes Mitglied
Ich habe eine PHP-Datei:

PHP:
$aufgaben_status_1=selectToArray("select n.id,n.text,DATE_FORMAT(n.termin,'%d.%m.%Y') as termin, n.termin as ord_termin, concat(substr(u.vorname,1,1),substr(u.nachname,1,1)) as iniz,n.user_id_gemacht from user_aufgabe n left join user_main u on (n.user_id_gemacht=u.id) where n.user_id=".$_REQUEST["user_id"]." && status='1' order by ord_termin desc");

$aufgaben_status_0=selectToArray("select n.id,n.text,DATE_FORMAT(n.termin,'%d.%m.%Y') as termin, n.termin as ord_termin, concat(substr(u.vorname,1,1),substr(u.nachname,1,1)) as iniz,n.user_id_gemacht from user_aufgabe n left join user_main u on (n.user_id_gemacht=u.id) where n.user_id=".$_REQUEST["user_id"]." && status='0' order by ord_termin");

$smarty->assign("aufgaben_status_1",$aufgaben_status_1);
$smarty->assign("aufgaben_status_0",$aufgaben_status_0);

und eine TPL-Datei:

HTML:
	<div class="block">
		<div style="float:right; margin-right:30px " class="text_label">
			
		<a href="?alt_aufgaben=0&user_id={$user.id}" ><br />
		
		{#a36#} {#a37#} {#a39#}</a>  &nbsp;&nbsp;&nbsp;  <a href="?alt_aufgaben=1&user_id={$user.id}" >{#a36#} {#a38#} {#a39#}</a>
		
		</div>
		<div class="text_label2">{#a40#}:</div> 
		<br>
		<div style="height:100px; overflow:scroll; width:450px  ">
		{foreach from=$aufgaben_status_1 item=aufgabe}
			<div style="width:100% ">
			{if ($aufgabe.id==$edit_aufgabe_id)}
				<form name="form_aufgabe_edit" method="post" action="/werbagentur/user_show.php">
				<input type="hidden" name="user_id" value="{$user.id}">
				<input type="hidden" name="aufgabe_id" value="{$aufgabe.id}">
				<input type="hidden" name="alt_aufgaben" value="{$alt_aufgaben}">
				<input name="aufgabe_date" id="aufgabe_date" value="{$aufgabe.termin}"><a href="javascript:akt_date_id='aufgabe_date';kalender_show();"><img src="/image/b_calendar.png" border="0"></a><br>
				<textarea rows="2" style="width:400px " name="aufgabe_edit_text">{$aufgabe.text}</textarea>
				<input type="image" src="/images/save.jpg">
				</form>				
			{else}
				{if (!$alt_aufgaben && $aufgabe.user_id_gemacht==$log_user->user_id)}<div style="float:right "><a title="{#a41#}" href="?aufgabe_id={$aufgabe.id}&action=erl_aufgabe&user_id={$user.id}"><img src="/image/gal.gif" border="0"></a></div>{/if}
				{if ($aufgabe.user_id_gemacht==$log_user->user_id)}<div style="float:right "><a title="{#a42#}" href="javascript:confermation('{$php_self}?alt_aufgaben={$alt_aufgaben}&aufgabe_id={$aufgabe.id}&action=del_aufgabe&user_id={$user.id}','{#a43#}')"><img src="/image/b_drop.png" border="0"></a></div>{/if}
				{if ($aufgabe.user_id_gemacht==$log_user->user_id)}<div style="float:right; margin-right:5px "><a title="{#a44#}" href="?alt_aufgaben={$alt_aufgaben}&edit_aufgabe_id={$aufgabe.id}&user_id={$user.id}"><img src="/image/b_edit.png" border="0"></a></div>{/if}
				<span class="text_label2">{$aufgabe.iniz} {$aufgabe.termin}</span>
				{$aufgabe.text}
			{/if}
			</div>
		{/foreach}
		</div>
		<br>
		{if (!$edit_aufgabe_id)}
		<form name="form_aufgabe" method="post">
		{#a45#}:<br>
		{#a46#}: <input id="aufgabe_date" name="aufgabe_date"><a href="javascript:akt_date_id='aufgabe_date';kalender_show();"><img src="/image/b_calendar.png" border="0"></a>
		<textarea rows="3"  style="width:450px " name="aufgabe_text"></textarea><br>
		<input type="submit" name="aufgabe_save" value="{#a47#}">
		</form>
		{/if}
		</div>

Es ist ein Tab (Aufgaben), der auf Knopfdruck die Aufgaben nach sortiert. Entweder die erledigten zuerst oder umgekehrt.
Das Problem ist, dass die Seite jedes Mal neu lädt. Kann man das gleiche Ergenbis erreichen, ohne dass sie neu laden muss?
Evtl. mit "visible:hidden"?

Vielen Dank!
 
Moin,

gehen tut es auch ohne Reload.
Wie am Besten, könnte man dir besser sagen, wenn du statt des PHP-Codes mal den HTML-Code posten würdest, den dein PHP-Skript produziert.;)
 
Das ist der produzierte HTML-Code. (Es sind bereits einige Beispiel-Aufgaben eingefügt).

HTML:
<div class="tab-page" id="aufgabe"><h2 class="tab">Aufgaben</h2><script type="text/javascript">
  tabPane1.addTabPage( document.getElementById( "aufgabe" ) );</script>
		<div class="block">
		<div style="float:right; margin-right:30px " class="text_label">
			
		<a href="?alt_aufgaben=0&user_id=31058" ><br />
		
		Die aktuellen Aufgaben zeigen</a>  &nbsp;&nbsp;&nbsp;  <a href="?alt_aufgaben=1&user_id=31058" >Die erledigten Aufgaben zeigen</a>

		
		</div>
		<div class="text_label2">Aufgaben:</div> 
		<br>
		<div style="height:100px; overflow:scroll; width:450px  ">
					<div style="width:100% ">
							<div style="float:right "><a title="Als erledigt markieren" href="?aufgabe_id=6&action=erl_aufgabe&user_id=31058"><img src="/image/gal.gif" border="0"></a></div>				<div style="float:right "><a title="Aufgabe entfernen" href="javascript:confermation('/werbagentur/user_show.php?alt_aufgaben=&aufgabe_id=6&action=del_aufgabe&user_id=31058','Möchten Sie es wirklich entfernen?')"><img src="/image/b_drop.png" border="0"></a></div>				<div style="float:right; margin-right:5px "><a title="Aufgabe bearbeiten" href="?alt_aufgaben=&edit_aufgabe_id=6&user_id=31058"><img src="/image/b_edit.png" border="0"></a></div>				<span class="text_label2">AS 27.07.2007</span>
				test123
						</div>

					<div style="width:100% ">
							<div style="float:right "><a title="Als erledigt markieren" href="?aufgabe_id=2&action=erl_aufgabe&user_id=31058"><img src="/image/gal.gif" border="0"></a></div>				<div style="float:right "><a title="Aufgaben entfernen" href="javascript:confermation('/werbagentur/user_show.php?alt_aufgaben=&aufgabe_id=2&action=del_aufgabe&user_id=31058',''Möchten Sie es wirklich entfernen?')"><img src="/image/b_drop.png" border="0"></a></div>				<div style="float:right; margin-right:5px "><a title="Aufgabe bearbeiten" href="?alt_aufgaben=&edit_aufgabe_id=2&user_id=31058"><img src="/image/b_edit.png" border="0"></a></div>				<span class="text_label2">AS 16.07.2007</span>
				?????? ??????? ?? ???????????
						</div>
					<div style="width:100% ">
							<div style="float:right "><a title="Als erledigt markieren" href="?aufgabe_id=3&action=erl_aufgabe&user_id=31058"><img src="/image/gal.gif" border="0"></a></div>				<div style="float:right "><a title="Aufgaben entfernen" href="javascript:confermation('/werbagentur/user_show.php?alt_aufgaben=&aufgabe_id=3&action=del_aufgabe&user_id=31058',''Möchten Sie es wirklich entfernen?')"><img src="/image/b_drop.png" border="0"></a></div>				<div style="float:right; margin-right:5px "><a title="Aufgabe bearbeiten" href="?alt_aufgaben=&edit_aufgabe_id=3&user_id=31058"><img src="/image/b_edit.png" border="0"></a></div>				<span class="text_label2">AS 16.07.2007</span>

				?????? ??????? ?? ???????????
						</div>
					<div style="width:100% ">
							<div style="float:right "><a title="Als erledigt markieren" href="?aufgabe_id=4&action=erl_aufgabe&user_id=31058"><img src="/image/gal.gif" border="0"></a></div>				<div style="float:right "><a title="Aufgaben entfernen" href="javascript:confermation('/werbagentur/user_show.php?alt_aufgaben=&aufgabe_id=4&action=del_aufgabe&user_id=31058',''Möchten Sie es wirklich entfernen?')"><img src="/image/b_drop.png" border="0"></a></div>				<div style="float:right; margin-right:5px "><a title="Aufgabe bearbeiten" href="?alt_aufgaben=&edit_aufgabe_id=4&user_id=31058"><img src="/image/b_edit.png" border="0"></a></div>				<span class="text_label2">AS 16.07.2007</span>
				Die zweite Aufgabe für Montag test456
						</div>
				</div>
		<br>

				<form name="form_aufgabe" method="post">
		Neue Aufgabe:<br>
		Datum: <input id="aufgabe_date" name="aufgabe_date"><a href="javascript:akt_date_id='aufgabe_date';kalender_show();"><img src="/image/b_calendar.png" border="0"></a>
		<textarea rows="3"  style="width:450px " name="aufgabe_text"></textarea><br>
		<input type="submit" name="aufgabe_save" value="Speichern">
		</form>
				</div>

		</div>
 
Nun ja...der ist nicht so recht aufschlussreich :-(

Aber ich nehme mal an, du zeigst halt in diesem scrollbaren Container entweder die offenen oder erledigten Aufgaben an...der wechsel erfolgt dann durch den Reload.

Falls ja, gebe gleich alle Aufgaben auf einmal aus, jeweils in einem eigenen Container...einen davon verberge per CSS->display:none
Das Wechseln kannst du dann erledigen, indem du per JS die display-Eigenschaft des versteckten Containers auf block setzt, und die des Sichtbaren auf none.

Ein Tutorial dazu: http://www.tutorials.de/forum/javascript-tutorials/24983-basic-dhtml-men.html
 

Neue Beiträge

Zurück