This commit is contained in:
RochesterX
2025-11-26 22:52:05 -05:00
parent 344d46d89e
commit 4a0199cda6
5 changed files with 40 additions and 5 deletions

View File

@@ -294,7 +294,7 @@ p {
} }
.mark { .mark {
width: 24px; width: 32px;
height: 24px; height: 24px;
border: 2px solid #606060; border: 2px solid #606060;
border-radius: 4px; border-radius: 4px;

View File

@@ -14,7 +14,7 @@
<tr> <tr>
<td>Name</td> <td>Name</td>
<td>ID</td> <td>ID</td>
<td>Salary</td> <td>Contract</td>
<td>Team</td> <td>Team</td>
<td>Position</td> <td>Position</td>
</tr> </tr>

View File

@@ -21,6 +21,28 @@
</select> </select>
<p>Search players by name:</p> <p>Search players by name:</p>
<input type="text" id="query" placeholder="Contains" required> <input type="text" id="query" placeholder="Contains" required>
<div class="days">
<label class="checkbox">
<input type="checkbox" name="days" value="QB" checked></input>
<span class="mark">QB</span>
</label>
<label class="checkbox">
<input type="checkbox" name="days" value="RB" checked></input>
<span class="mark">RB</span>
</label>
<label class="checkbox">
<input type="checkbox" name="days" value="TE" checked></input>
<span class="mark">TE</span>
</label>
<label class="checkbox">
<input type="checkbox" name="days" value="WR" checked></input>
<span class="mark">WR</span>
</label>
</div>
<button type="submit">Search</button> <button type="submit">Search</button>
</form> </form>

View File

@@ -16,8 +16,17 @@ if (searchForm)searchForm.onsubmit = async e => {
e.preventDefault(); e.preventDefault();
if (!verifyLogin()) return; if (!verifyLogin()) return;
const formData = new FormData(searchForm);
let positions = formData.getAll("days");
while (positions.length !== 4) {
positions.push("NOPE");
}
let resultObject = await postData("/getPlayers", { let resultObject = await postData("/getPlayers", {
player: document.getElementById("query").value player: document.getElementById("query").value,
positions: positions
}, token); }, token);
if (resultObject.matches.length === 0) { if (resultObject.matches.length === 0) {

View File

@@ -161,11 +161,15 @@ app.post("/toggleWatched", authenticate, async (req, res) => {
}); });
app.post("/getPlayers", authenticate, async (req, res) => { app.post("/getPlayers", authenticate, async (req, res) => {
const { player } = req.body; const { player, positions } = req.body;
const result = await pool.request() const result = await pool.request()
.input("query", sql.VarChar, player) .input("query", sql.VarChar, player)
.query(`SELECT p.PlayerID, p.PlayerName, c.TotalValue, p.Team, p.Position FROM Player AS p JOIN Contract AS c ON p.PlayerID = c.PlayerID WHERE p.PlayerName LIKE '%' + @query + '%'`); .input("one", sql.VarChar, positions[0])
.input("two", sql.VarChar, positions[1])
.input("three", sql.VarChar, positions[2])
.input("four", sql.VarChar, positions[3])
.query(`SELECT p.PlayerID, p.PlayerName, c.TotalValue, p.Team, p.Position FROM Player AS p JOIN Contract AS c ON p.PlayerID = c.PlayerID WHERE p.PlayerName LIKE '%' + @query + '%' AND p.Position IN (@one, @two, @three, @four);`);
res.status(200).json({ query: player, matches: result.recordset }); res.status(200).json({ query: player, matches: result.recordset });
}); });