Opdeling af output
Hej,Først: Jeg er ikke særligt php-stærk, og spørgsmålet kan derfor være meget lettere end jeg tror (det er det nok!). Beklager.
Jeg har et setup, hvor man kan oprette et 'event' i en kalender, og alle brugerne har som default 'ikke svaret' (status=1 i det følgende). Man kan så gå ind og melde sig til (status =3) eller melde fra (status =2). Derefter kan man så gå ind og se antallet af tilmeldte, afmeldte og ikke svarede. Dette kommer ud af nedenstående kode.
Mit spørgsmål: På nuværende tidsunkt bliver alle brugerne smidt ud i et dump, sorteret efter status, men jeg ville meget gerne dele det op, så jeg fik
Tilmeldt: [antal]
og så dump af navne og begrundelse, samt tid (som det er nu)
og på tilsvarende måde frameldt og ikke svaret - altså helst i 3 forskellige dump (som jeg så kan lægge ind i noget layout).
Men HVOR skal jeg sætte noget 'where' sætning ind, og hvor meget af koden skal kopieres ?
På forhånd tak - jeg giver den 100 point, da I jo lige skal læse lidt kode igennem.
----------------------------------------------------------------
<?php
error_reporting(E_ALL ^ E_NOTICE);
session_start();
require_once ("db_connect.php");
$event_id = $_REQUEST["event_id"];
if(!$event_id){ echo "Der er opstået en fejl. Manglende event_id. Prøv igen fra forsiden!"; return; }
$db = db_connection();
$q = "SELECT * from events WHERE event_id = '$event_id'";
$result = query($q);
$error = mysql_error($db);
if($error){
$strError = "<br> noget gik galt! Fejl: ".$error;
return $strError;
}else{
$num_results = mysql_numrows( $result );
if ($num_results > 0) {
?>
<html>
<body>
Oplysninger om event <br><br>
<?
for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
// Vender datoen om til danske forhold.
$pieces = explode(" ", $row["dato"]);
$pieces = explode("-", $pieces[0]);
$array = array($pieces[2],$pieces[1], $pieces[0]);
$thedate = implode(".", $array);
?>
<br><br>Dato: <? echo $thedate; ?>
<br>Type: <? echo $row["type"]; ?>
<br>Sted: <? echo $row["sted"]; ?>
<br>Tid: <? echo $row["tid"]; ?>
<br>Info: <? echo $row["info"]; ?>
<br>Ansvarlig: <? echo $row["brugernavn"]; ?>
<br>Hold: <? echo $row["hold_id"]; ?>
<?
// Her kommer opslaget i event_respons tabellen for at se spilleres status i forhold til den pågældende event. Men kun hvis brugeren er logget på ellers vises ingenting.
if ($_SESSION['userlevel'] == $row["hold_id"]) {
$username = $_SESSION['username'];
if ($username) {
$event_id = $row["event_id"];
$q_event = "SELECT * from event_respons WHERE brugernavn = '$username' AND event_id = '$event_id'";
$result_event = query($q_event);
$error_event = mysql_error($db);
if($error_event){ $strError_event = "<br> noget gik galt! Fejl: ".$error; return $strError_event;
}else{
// Spilleren er logget på og vi kan vise hans/hendes status i forhold til den pågældende event.
$row_event = mysql_fetch_array($result_event);
echo "Status-variabel: ".$row_event["status"];
if ($row_event["status"] == "1") { $current_status = "Ikke svaret"; }
else if ($row_event["status"] == "2") { $current_status = "Du er tilmeldt denne event. Note: ".$row_event["begrundelse"]; }
else if ($row_event["status"] == "3") { $current_status = "Du er afmeldt denne event. Note: ".$row_event["begrundelse"]; }
?>
<? echo $current_status; ?>
<br><a href="insert_event_respons_form_spiller.php?event_id=<? echo $event_id ?>">Tilmeld/Afmeld</a>
<?
}
}
}
// Her vises tilmeldinger/afbud etc for den aktuelle event alle spillere.
$q_event_status = "SELECT * from event_respons WHERE event_id = '$event_id' ORDER BY status desc";
$result_event_status = query($q_event_status);
$error_event_status = mysql_error($db);
if($error_event_status){ $strError_event_status = "<br> noget gik galt! Fejl: ".$error; return $strError_event_status;
}else{
$num_results_status = mysql_numrows( $result_event_status );
if ($num_results_status > 0) {
$no_answer = 0;
$coming = 0;
$cancelled = 0;
for ($i=0; $i <$num_results_status; $i++) {
$row_event_status = mysql_fetch_array($result_event_status);
if ($row_event_status["status"] == "1") { $current_status = "Ikke Svaret"; $no_answer++; }
else if ($row_event_status["status"] == "2") { $current_status = "Tilmeldt"; $coming++; }
else if ($row_event_status["status"] == "3") { $current_status = "Afbud"; $cancelled++; }
?>
<br><? echo $row_event_status["brugernavn"]; ?> <? echo $current_status; ?> <? echo $row_event_status["begrundelse"]; ?> <? echo $row_event_status["tid"]; ?>
<?
}
?>
<br><br>Mangler at svare: <? echo $no_answer; ?> Antal tilmeldt: <? echo $coming; ?> Antal Frameldt: <? echo $cancelled; ?><br>
<?
}
}
}
}
else {
echo "<br><tr><td class=\"text\">Der er ingen events for den pågældende periode.</td></tr>";
}
}
?>
</body>
</html>