hvad er der i vejen for at bruger funktioner?
Det gør det noget nemmere at strukturer kode, og derved lettere at vedligeholde...
Det selve scriptet gør er at, den viser hvilke brugere som ikke har betalt vha. HarIkkeBetalt() funktionen.
Her kan du så vælge om en bruger har betalt, dvs. skal fjernes fra listen. Dette gøres ved at klikke brugerens id. Dette kan bare laves om, så der f.eks. står: echo "<a href\\"$_SERVER[PHP_SELF]?id=".$row['id']."\\>har indbetalt penge</a>"; i stedet for... det er jo noget som du selv bestemmer.
Dette bliver til denne kode:
function VisIkkeBetalt() {
$sql = mysql_query("select id, navn from tilmelding where betalt = 'Ikke Betalt'";
echo "<table>";
echo "<tr><td>Bruger som ikke har betalt</td></tr>";
echo "<tr><td>";
if(mysql_num_rows($sql) > 0) {
echo "<table>";
echo "<tr><td>Brugernavn</td><td>bruger id</td></tr>";
while($row = mysql_fetch_array($sql)) {
echo "<tr><td>".$row['navn']."</td><td><a href\\"$_SERVER[PHP_SELF]?id=".$row['id']."\\>har indbetalt penge</a></td></tr>";
}
echo "</table>";
}
else {
echo "alle har betalt"; // eller ingen ting... må du jo bestemme
}
echo "</td></tr>";
echo "</table>";
}
function betal($id) {
mysql_query("update tilmeldinger set betalt = 'betalt' where id=$id");
}
// her udføres det hele...
if($_GET['id'] != "") {
betal($_GET['id']);
}
VisIkkeBetalt();
Hvis du derimod vil have en liste, som viser alle brugerene og viser om de har betalt eller ej, kan dette gøres på følgende måde: (Igen ved brug af funktioner)
// denne funktion viser alle brugere...
// og den viser om en bruger har betalt eller ej
function visBrugere() {
$sql = mysql_query("select id, navn, betalt from tilmelding";
echo "<table>";
echo "<tr><td>Tilmeldte brugere</td></tr>";
echo "<tr><td>";
if(mysql_num_rows($sql) > 0) {
echo "<table>";
echo "<tr><td>Brugernavn</td><td>Betalt?</td><td>opdater betaling</td></tr>";
while($row = mysql_fetch_array($sql)) {
echo "<tr><td>".$row['navn']."</td><td>";
echo harBetalt($row['betalt']); // udskriver om der er betalt eller ej
echo "</td>";
// når der skal betales, klikkes der her.
echo "<td><a href\\"$_SERVER[PHP_SELF]?id=".$row['id']."\\>klik for betaling</a></td></tr>";
}
echo "</table>";
}
else {
echo "alle har betalt"; // eller ingen ting... må du jo bestemme
}
echo "</td></tr>";
echo "</table>";
}
// her tjekkes om der er betalt
function harBetalt($info) {
if($info == "Ikke Betalt") {
return "<font color=\\"#870000\\">nej</font>";
}
else
return "<font color=\\"green\\">ja</font>";
}
// her udføres kommandoen så tuplen betalt sættes til betalt hos den angivne bruger...
function betal($id) {
mysql_query("update tilmeldinger set betalt = 'betalt' where id=$id");
}
// her udføres det hele...
// først tjekkes der om du har sendt en request på at opdatere en
// brugers oplysninger mht. har betalt
if($_GET['id'] != "") {
betal($_GET['id']);
}
// derefter vises alle brugerne.
visBrugere();
Her viser alle brugere og om de har betalt eller ej. Du kan så ændre ikke betalt til betalt.
-------------------------------
Hilsen Jimmi Westeberg
http://www.westsworld.dk