checkboxen + drowdown + submit

schmood

Grünschnabel
hallo,

ich bin neu hier und möchte mal folgendes wissen:


ich hab jetz so ein "nachrichtencenter" und dort werden auch die eingehenden nachrichten angezeigt usw. - alles super!

aber jetz hab ich mir noch was gedacht zu bauen und zwar folgendes:

bei jeder nachricht eine checkbox dran und ein dropdown wo man auswählen kann "löschen" wie kann ich es jetz fertig bringen das die ausgewählte nachricht gelöscht wird?

danke für die hilfe!

lg schmood


p.s. falls wer nen screenshot benötigt, weil er nicht weiß was ich mein :
nrc.JPG
 
Zuletzt bearbeitet:
Hallo!

1.: Willkommen an Bo(a)rd!
2.: Achte bitte auf die Groß-/Kleinschreibung (siehe hier gültige Netiquette.
3.: Wo kommen denn die Nachrichten her, aus einer Datenbank und haben dort eine ID oder ähnliches?
Dann packst Du die Nachrichten in ein Fomular, welches ein Script aufruft.
Die Selectbox (das Dropdown) bekommt für jeden Eintrag einen bestimmten Wert.
Wenn dann in die Checkbox (die bekommt als Wert die ID der Nachricht) ein Häkchen gesetzt wurde, wird in dem aufgerufenen Script überprüft, welche Funktion in der Selectbox ausgewählt wurde und für welche Nachricht (ID) es gamcht werden soll.
Und dann rufst Du einfach die Datenbank auf und führst das gewünschte aus.
Falls Dir das jetzt zu hoch war und Du keine Ahnung hast, wovon ich rede, dann poste doch bitte noch mal ein paar detailiertere Informationen zu Deinem Anliegen und auch wieviel Ahnung Du von PHP und Datenbanken (so Du eine nutzt und wenn ja, welche) hast.

redlama
 
Also ehrlich gesagt, komm ich jetz nicht ganz mit!

Hab der Checkbox jetz die ID der Nachricht gegeben
Und der Option löschen den Wert "del" (value="del")

Aber wie überprüfe ich in dem Script , welches aufgerufen wird, ob die Selectbox übergeben wurde und wenn ja ob es den Wert "del" hat - Und dann noch die ID der angehackten Nachricht gelöscht wird?!

Danke im Vorraus
 
Code:
<table style="width:90%" border="0" cellspacing="2" cellpadding="0">
<tr><td class="left"></td><td class="right">
<a href="index.php?show=mysms">empfangen</a> - 
<a href="index.php?show=mysmsto">gesendet</a> - 
<a href="index.php?show=mysmsdo">erstellen</a>
</td></tr></table><br />
<form method="post" action="index.php?show=mysmsmsg">
<table style="width:90%" border="0" cellspacing="1" cellpadding="0" class="forum">
	<tr>
		<td class="headb">Neue Nachrichten:</td>
	</tr>
</table>
<table style="width:90%" border="0" cellspacing="1" cellpadding="0" class="forum">

	<tr>
		<td style="width:149px" align="center"><b>Absender</b></td>
		<td style="width:478px" align="center"><b>Betreff</b></td>
		<td style="width:155px" align="center"><b>Datum</b></td>
		
	</tr>

	<?php $sql="SELECT * FROM sms WHERE senduser='$myid' AND viewed='0' ORDER BY date DESC";
	$data=mysql_query($sql, $db);
	while ($mysms = mysql_fetch_object ($data)) { ?>
	<tr>
		<td style="width:149px" class="leftb">
		<?php $sql2="SELECT nick,id FROM users WHERE id='$mysms->fromuser'";
		$data2=mysql_query($sql2, $db);
		while ($users = mysql_fetch_object ($data2)) { 
		print "<strong><a href=\"index.php?show=users&amp;userid=$users->id\">"; 
		secure($users->nick); echo "</a></strong>"; } ?>
		</td>

		<td style="width:478px" class="leftb">
		<?php print "<strong><a href=\"index.php?show=mysmsdet&amp;msid=$mysms->id\">"; 
		secure($mysms->headline); echo "</a></strong>"; ?>
		</td>
	
		<td  style="width:155px"class="centerb">
		<?php  $date = date("d.m.y",$mysms->date);
		$day = date("H:i",$mysms->date);
		echo "<strong>$date - $day</strong>"; ?>
		</td>
		<td style="width:20px" class="leftb" align="center"><input type="checkbox" name="msgselect"></td>
	</tr>

	
		
	

	<?php } ?>
</table>
<br>

<table style="width:90%" border="0" cellspacing="1" cellpadding="0" class="forum">
<tr><td>
<div align="right">
<select class="form" name="act">
  <option selected>Aktion wählen...</option>
  <option>löschen</option>
  </select>
</div>
</td></tr>
</table><br>

<table style="width:90%" border="0" cellspacing="1" cellpadding="0" class="forum">
	<tr>
		<td class="headb">Gelesene Nachrichten:</td>
	</tr>
</table>
<table style="width:90%" border="0" cellspacing="1" cellpadding="0" class="forum">

	<tr>
		<td style="width:149px" align="center"><b>Absender</b></td>
		<td style="width:478px" align="center"><b>Betreff</b></td>
		<td style="width:155px" align="center"><b>Datum</b></td>
		
	</tr>

	
	

	<?php  ?>
	<?php $sql="SELECT * FROM sms WHERE senduser='$myid' AND viewed='1' ORDER BY date DESC";
	$data=mysql_query($sql, $db);
	while ($mysms = mysql_fetch_object ($data)) { ?>
	<tr>
		<td style="width:149px" class="leftb">
		<?php $sql2="SELECT nick,id FROM users WHERE id='$mysms->fromuser'";
		$data2=mysql_query($sql2, $db);
		while ($users = mysql_fetch_object ($data2)) { 
		print "<a href=\"index.php?show=users&amp;userid=$users->id\">"; 
		secure($users->nick); echo "</a>"; } ?>
		</td>
		<td style="width:478px" class="leftb">
		<?php print "<a href=\"index.php?show=mysmsdet&amp;msid=$mysms->id\">"; 
		secure($mysms->headline); echo "</a>"; ?>
		</td>
		<td style="width:155px" style="width:30%" class="centerb">
		<?php  $date = date("d.m.y",$mysms->date);
		$day = date("H:i",$mysms->date);
		echo "$date - $day"; ?>
		</td>
		<td style="width:20px" class="leftb"align="center"><input type="checkbox" value="<?php $mysms->id ?>"></td>
	</tr>
	
	

	<?php } ?>
	
	
</table>






<br>

<table style="width:90%" border="0" cellspacing="1" cellpadding="0" class="forum">
<tr><td>
<div align="right">

	<select class="form" name="act">
  		<option selected>Aktion wählen...</option>
  		<option value="del">löschen</option>
  	</select>
  	<input type="submit" class="form" value="Go">
</div>
</td></tr>
</table><br>
</form>

Das ist jetz der Code des Nachrichtencenters!

Ich weiß nicht was ich in das Script, welches aufgerufen werden soll, reinschreiben soll!
 
Hi

Du kannst die in den Checkboxen übergebenen Werte in einem Array verarbeiten.

bsp. Inputfeld

<input type="checkbox" name="checkbox[]" value="1">

http://www.php-faq.de/q/q-formular-checkbox.html

Diese übergebenen Werte kann man dann in einer foreach-Schleife, wie auch im Tut beschrieben, auslesen. Wenn Du die aufgelisteten Werte durch ein Komma trennst, wäre dies die Formatierung, die Du benötigst, um mehrere Datensatze mit Hilfe des In-Operators zu löschen.

PHP:
if($_POST['action']=="del") {
foreach($_POST['checkbox'] as $value) {
		$ausgabe .= $value.",";
		}
// Deletestatement	
$sql = "delete from Tabelle where id in (".substr($ausgabe,0,-1).")";	
// weitere Verarbeitung
}
 
Zurück