Eine ziemlich komplexe Frage:Zählen von Feld in Tabelle dann Aktualisieren auf ein anderes Feld in einer anderen Tabelle
Im Moment habe ich eine Tabelle namens "Zeitplan". Dies wird aktualisiert, wenn jemand einen Slot bucht (dies ist für ein Radio-Buchungssystem). Was ich möchte, ist eine PHP-Datei, die ich alle 15 Minuten als Cron-Job ausgeführt haben könnte. In PHP-Skript möchte ich zählen, wie viele Slots ein Radiomoderator über das Feld "Benutzername" in der Tabelle "Stundenplan" gebucht hat. Dann möchte ich ein Feld in einer anderen Tabelle namens "users" in einem Feld namens "slot_count" mit der Anzahl der Slots aktualisieren, die in der Tabelle "timetable" unter ihrem "username" gefunden wurden.
Im Moment habe ich ein Skript, das alle gebuchten Slots mit ihrem Moderator „username“ 's in eine Tabelle zieht:
<?php
include("../config.php");
include("functions.php");
if($logged["level"] == "HDJ" OR $logged["level"] == "SA") {
echo "<table width=\"580px\" class=\"board\" border=\>";
$order = "SELECT * FROM timetable WHERE username <> 'No DJ'";
$result = mysql_query($order);
// Error checking
if (!$result) {
// output error, take other action
}
else {
while ($row=mysql_fetch_array($result)){
// Append all results onto an array
$rowset[] = $row;
}
}
foreach ($rowset as $row) {
echo "<tr><td>" . htmlspecialchars($row['username']) . "</td></tr>";
}
} else {
echo ("<div class=\"caution\">Access is denied.</div>");
}
?>
Irgendwelche Ideen?
UPDATE users
SET slot_count = (SELECT COUNT(*) FROM timetable WHERE timetable.username = users.username)
Annahme:
sind in der Lage Sie mir das in PHP-Code zu geben, etc – Logan
@Logan Leider habe ich kein PHP Typ bin Php bla bla?> . Ich habe in meiner Antwort einen Link hinzugefügt, der Sie darauf hinweist, wie Sie SQL direkt gegen MySQL ausführen können, ohne überhaupt PHP zu benötigen. Besser geeignet für Cron Job IMHO. –
Wüssten Sie, wie Sie diese Abfrage in cPanel einrichten? Ich bin in der Cron-Seite und es fragt nach dem "Befehl", der ausgeführt werden soll – Logan