Checkbox abfrage

kathi35

Grünschnabel
Hallo Leute,
ich weiß es gibt schon viel über Checkbox -Abfragen hier im Forum.
Ich brauche einen Denkanstoß, wie ich weitermachen soll.
Ich habe ein Formular wo Daten aus einer DB Emailadressen abgefragt werden, danach wird im Formular eine Checkbox vor jedem eintrag erzeugt die gecheckt ist.

PHP:
<td>
<input name=id[] type=hidden value=$id>
<input name=email[] type=hidden value=$email>
<input name=check[] type=checkbox value=1 checked> </td>
<td> $email </td>

Bsp. ich setzte 2 von 4 Checkboxen unchecked.
Und wenn ich jetzt auf Senden klick sollte er mir im erneutem Aufruf nur mehr die anzeigen die gecheckt (==1) waren.
Bis jetzt habe ich folgendes:

PHP:
if (($_POST['submit']) == " Absenden ") { 

	$a['id'] = ($_POST['id']);
	$a['check'] = ($_POST['check']);
	$a['email'] = ($_POST['email']);

	for( $i=0; $i<count($a['check']) ; $i++ ) {
	echo" $email[$i] $check[$i] <br>";
	}
}

Wie kann ich das jetzt abfragen welche ID mit Email und Checkbox 1 sind.
Bitte um Hilfe/Denkanstoß lg kathi
 
Ist es nicht viel leichter, wenn du bei der E-Mail Adresse als Key die ID verwendest und bei der Checkbox die ID als Value?
Code:
<td>
<input name="email[$id]" type="hidden" value="$email">
<input name="check[]" type="checkbox" value="$id" checked="checked"> </td>
<td> $email </td>
Aber viel besser wäre es doch, wenn du einfach die E-Mail Adresse bei der Checkbox als Value verwenden würdest. ;)
Code:
<td>
<input name="check[]" type="checkbox" value="$email" checked="checked"> </td>
<td> $email </td>
Edit:
Solltest du die ID im weiteren Verlauf des Skriptes benötigen, kannst du auch die ID als Key verwenden.
Code:
<td>
<input name="check[$id]" type="checkbox" value="$email" checked="checked"> </td>
<td> $email </td>
 
Zuletzt bearbeitet:
Solltest du die ID im weiteren Verlauf des Skriptes benötigen, kannst du auch die ID als Key verwenden.
Code:
<td>
<input name="check[$id]" type="checkbox" value="$email" checked="checked"> </td>
<td> $email </td>

Danke vorab für die Hilfe.
Dadurch das ich diese Methode noch nicht gemacht habe, wie schaut das dann nach der if-Abfrage aus.
PHP:
if (($_POST['submit']) == " Absenden ") {  

    ...?....

    for( $i=0; $i<count( ...?... ); $i++ ) { 
    echo" $id[$i]  $email[$i] <br>"; 
    } 
}

Bitte um Lernhilfe.
lg kathi
 
Mir ist leider unklar, was du machen möchtest. Du hast dich also für diese Variante entschieden.
Code:
<td>
<input name="check[$id]" type="checkbox" value="$email" checked="checked"> </td>
<td> $email </td>
Auf seitens PHP kannst du alle markierten Checkboxes wie folgt auswerten:
PHP:
if( ($_POST['submit']) == " Absenden ") 
{  
	if( is_array($_POST['check']) && sizeof($_POST['check']) > 0 )
	{
		foreach( $_POST['check'] as $id => $email )
		{
			echo $id . ' => ' . $email . '<br />';
		}
	}
}
 
Mir ist leider unklar, was du machen möchtest. ...

Danke chainy, jetzt habe ich wieder dazugelernt und Arrays auch besser verstanden. :D
Zu deiner Frage, was ich machen möchte:
Ich möchte bestimmten Personen (die ich vorher über Kriterien aus der DB suche) eine Email schreiben (kein Spam sondern business to business).
In der DB habe ich eine Spalte mit " 0 " , wenn ich Ihnen danach eine Email sende wird die auf " 1 " gesetzt.
Ich hoffe nur, ich bekomme das hin, das auch mehrere eine Email mit Ihrer Email-Adresse im AN-Feld bekommen :rolleyes:
Bin im PHP halt noch ein Frischling lg kathi
 
Zurück