webForumDet fria alternativet

Loopa ut en variabel

4 svar · 279 visningar · startad av lillebror

lillebrorMedlem sedan apr. 20041 597 inlägg
#1

Hej!

Jag har skapat ett internt e-meddelandesystem. Framför varje meddelande i inkorgen finns det en kryssruta som ingår i ett formulär. Värdet på varje kryssruta sätts med det messageID som meddelandet har i databasen.

Nu håller jag på att skapa en funktion så det går att bocka för meddelanden och rensa bort dessa.

Om jag bockar för en ruta kommer det följaktligen bara följa med ett värde i messageID när jag skickar formuläret?! Om jag bockar för flera så har jag fått berättat för mig tidigare att de lagras på varann i messageID-variabeln i formuläret de också. Hur loopar jag sedan ut dessa värden i den mottagande sidan? Basic stuff kanske men jag har aldrig behövt göra det tidigare :r

Så här ser variabeln ut:

$maildata['messageID'];
MatteMedlem sedan aug. 20002 975 inlägg
#2

Skriv så här i formulärfältet/checkboxen:

... name="messageID[]" ...

Då kommer $_POST['messageID'] att vara en array, med de förbockade värdena, som du kan loopa.

lillebrorMedlem sedan apr. 20041 597 inlägg
#3

Matte skrev:

Skriv så här i formulärfältet/checkboxen:

... name="messageID[]" ...

Då kommer $_POST['messageID'] att vara en array, med de förbockade värdena, som du kan loopa.

Ändrade på namnet men fick det fortfarande inte att fungera. Får följande fel: Unknown column 'Array' in 'where clause'

Denna kod använder jag mig av för att ta emot informationen och ta bord aktuella meddelanden.

<?php
session_start();

$maildata['messageID'] = trim($_POST['messageID']);

echo "MessageID: ".$maildata['messageID'];

$sqlInsert = "DELETE FROM Tabell WHERE messageID IN ($maildata['messageID'])";

$RSobj = mysql_query($sqlInsert) or die (mysql_error());
#echo "<script Language='JavaScript'>location.href=('myprofile_message.php');</script>";

?>
K@llenMedlem sedan mars 20032 667 inlägg
#4
$messId = implode ( ",", $_POST['messageID'] );
mysql_query ( "DELETE FROM tabell WHERE messageID IN ( $messId )" );
lillebrorMedlem sedan apr. 20041 597 inlägg
#5

K@llen skrev:

$messId = implode ( ",", $_POST['messageID'] );
mysql_query ( "DELETE FROM tabell WHERE messageID IN ( $messId )" );

När jag använde ASP tidigare var man inte tvungen att använda motsvarande implode på vektorn utan det gick att mata SQL-frågan direkt med den kommaseparerade variabeln. Men så var alltså inte fallet här! :)

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)