ha allemaal,

Ik ben bezig om a.d.v. het PM systeem van SerpenT (het script)mijn eigen PM systeemt e schrijven

Nu heb ik een mooie inbox, ik kan berichten versturen naar vrienden en gebruikers alleen ik kan nog niet verwijderen of verplaatsen.

Nu wil ik dat graag doen op de manier waarop Serpent dat doet:

<?php
//kijk of er iets gebeurt is met je berichten
if (isset($_POST["what"])){
//wat te doen met de geselecteerde berichten
$what = $_POST["what"];
//voor elke variabele in de $_POST array
foreach ($_POST as $mid){
//bekijk of die een waarde heeft die numeriek is
if (is_numeric($mid) == true){
//kijk of die een waarde heeft
if (isset($mid)){
//zoja kijk wat de waarde van $what is
switch ($what) {
//als die delete is
case "delete":
//bekijk wat de voorkeur is die de gebruiker heeft
$check_dwd = mysql_query("SELECT * FROM zeemijl_pmoptions WHERE user = '$uuser'");
while (list($id, $user, $alert, $buddy, $block, $dwd) =
mysql_fetch_row($check_dwd)){
//als de gebruiker wilt dat de berichten meteen worden verwijderd worden ze uit de db gehaald
if ($dwd == "delete"){
$query = "DELETE FROM zeemijl_pm WHERE id = '$mid'";
mysql_query($query);
}else{
//ander wil de gebruiker dat ze in de prullebak komen
$query = "UPDATE zeemijl_pm SET read = '-1' WHERE id = '$mid'";
mysql_query($query);
}
}
break;
//als $what de waarde unread heeft markeer ze dan ongelezen
case "unread";
$query = "UPDATE zeemijl_pm SET read = '0' WHERE id = '$mid'";
mysql_query($query);
break;
//als $what de waarde read heeft markeer ze dan gelezen
case "read";
$query = "UPDATE zeemijl_pm SET read = '1' WHERE id = '$mid'";
mysql_query($query);
break;
}
}
else{
}
}
else{
}
}
}
else{
}
?>

de berichten worden als volgt uit in zijn inbox weergegeven:

<?php
$i = 0;
//bekijk of er berichten zijn voor de gebruiker
//zoja echo die dan
DB_connect();
$result = mysql_query("SELECT * FROM zeemijl_pm WHERE to = 1 ORDER by id DESC");
while (list($id, $from, $ipsender, $to, $date, $time, $sub, $mes, $read) =
mysql_fetch_row($result)){
?> 
<tr>
<td width="20">
<input type="checkbox" name="<? echo $i?>" value="<? echo $id ?>"></td>
<td>
<a href="pm_new.php?to=<? echo $from ?>"><? echo $from ?></a>
</td>
<td>
<? echo $date ?>
<? echo $time ?>
</td>
<td>
<a href="pm_read.php?m=<? echo $id ?>"><? echo $sub ?> </a>
</td>
</tr>
<?
$i++;
}
?>
</table>
?>

Nu heb ik een paar vragen:

hij begint na zijn laaste else met

<?php
$i=0;
?>

Waarom is dit?

Ten tweede:

nadat hij de regel sluit </tr> in de inbox doet hij:

<?php
$i++;
?>

Het zal wel met de fetch array te maken hebben alleen ik ken het niet op deze manier. Ik ben benieuwd wat jullie me weten te vertellen.

Wanneer ik weet waar die $i voor staat, ook in de name voor de checkbox van de berichten kan ik denk ik wel een eind verder komen.

Probleem is nu dat ik niet het juiste id mee krijg.

Oke, bedankt voor jullie hulp, uitleg!

Cris

[b]edit:[/]
de [ code ] rond de hoop html
While lus, je zal eerst de variabele, die hij onder steeds ophoogt, moet declareren. Vandaar dat dat 0 is.
Alle variabelen worden uit de database getrokken behalve de naam van de checkboxen. Naja de maker heeft gekozen om die een getal te geven.
Kortom het is alleen als benaming gekozen selectboxen. Pas als er verder nog wat mee gedaan wordt, controle door middel van $_POST, zal dit pas van belang worden dat je hier de zelfde benaming voor geeft anders loopt het in de soep.
Net zo goed
$i = 1; kunnen zeggen, maar ik heb de code voor de rest niet bekeken, maar dit is niet echt bijzonder en dit kan niet iets zijn waardoor je vastloopt. Teminste niet wat jij hebt laten zien.
Ik ga even kijken wat ik kan met je uitleg Kalle, wie weet zie ik het probleem als ik straks weer aan het proggen ben!

Bedankt!

Greetz Cris

Reageren