/** * Restituisce la lista di esami per un dato studente * @param Studente $user */ public function &esamiPerStudente(Studente $user) { $esami = array(); $query = "select \n esami.id esami_id,\n esami.voto esami_voto,\n esami.data esami_data,\n insegnamenti.id insegnamenti_id,\n insegnamenti.titolo insegnamenti_titolo,\n insegnamenti.cfu insegnamenti_cfu,\n insegnamenti.codice insegnamenti_codice,\n studenti.id studenti_id,\n studenti.nome studenti_nome,\n studenti.cognome studenti_cognome,\n studenti.matricola studenti_matricola,\n studenti.email studenti_email,\n studenti.citta studenti_citta,\n studenti.via studenti_via,\n studenti.cap studenti_cap,\n studenti.provincia studenti_provincia,\n studenti.numero_civico studenti_numero_civico,\n studenti.username studenti_username,\n studenti.password studenti_password,\n CdL.id CdL_id,\n CdL.nome CdL_nome,\n CdL.codice CdL_codice,\n dipartimenti.id dipartimenti_id,\n dipartimenti.nome dipartimenti_nome,\n docenti.id docenti_id,\n docenti.nome docenti_nome,\n docenti.cognome docenti_cognome,\n docenti.email docenti_email,\n docenti.citta docenti_citta,\n docenti.cap docenti_cap,\n docenti.via docenti_via,\n docenti.provincia docenti_provincia,\n docenti.numero_civico docenti_numero_civico,\n docenti.ricevimento docenti_ricevimento,\n docenti.username docenti_username,\n docenti.password docenti_password\n \n\n\n from esami \n join studenti on esami.studente_id = studenti.id\n join insegnamenti on esami.insegnamento_id = insegnamenti.id\n join CdL on studenti.cdl_id = CdL.id\n join dipartimenti on CdL.dipartimento_id = dipartimenti.id\n join docenti on insegnamenti.docente_id = docenti.id\n where esami.studente_id = ?\n "; $mysqli = Db::getInstance()->connectDb(); if (!isset($mysqli)) { error_log("[esamiPerStudente] impossibile inizializzare il database"); $mysqli->close(); return $esami; } $stmt = $mysqli->stmt_init(); $stmt->prepare($query); if (!$stmt) { error_log("[esamiPerStudente] impossibile" . " inizializzare il prepared statement"); $mysqli->close(); return $esami; } if (!$stmt->bind_param('i', $user->getId())) { error_log("[esamiPerStudente] impossibile" . " effettuare il binding in input"); $mysqli->close(); return $esami; } $esami = self::caricaEsamiDaStmt($stmt); foreach ($esami as $esame) { $this->caricaCommissione($esame); } $mysqli->close(); return $esami; }
/** * Rende persistenti le modifiche all'anagrafica di uno studente sul db * @param Studente $s lo studente considerato * @param mysqli_stmt $stmt un prepared statement * @return int il numero di righe modificate */ private function salvaStudente(Studente $s, mysqli_stmt $stmt) { $query = " update studenti set \n password = ?,\n nome = ?,\n cognome = ?,\n email = ?,\n numero_civico = ?,\n citta = ?,\n provincia = ?,\n matricola = ?,\n cap = ?,\n via = ?\n where studenti.id = ?\n "; $stmt->prepare($query); if (!$stmt) { error_log("[salvaStudente] impossibile" . " inizializzare il prepared statement"); return 0; } if (!$stmt->bind_param('ssssississi', $s->getPassword(), $s->getNome(), $s->getCognome(), $s->getEmail(), $s->getNumeroCivico(), $s->getCitta(), $s->getProvincia(), $s->getMatricola(), $s->getCap(), $s->getVia(), $s->getId())) { error_log("[salvaStudente] impossibile" . " effettuare il binding in input"); return 0; } if (!$stmt->execute()) { error_log("[caricaIscritti] impossibile" . " eseguire lo statement"); return 0; } return $stmt->affected_rows; }
private function queryIscrizione(Studente $s, Appello $a, $query) { $mysqli = Db::getInstance()->connectDb(); if (!isset($mysqli)) { error_log("[aggiungiIscrizione] impossibile inizializzare il database"); $mysqli->close(); return 0; } $stmt = $mysqli->stmt_init(); $stmt->prepare($query); if (!$stmt) { error_log("[aggiungiIscrizione] impossibile" . " inizializzare il prepared statement"); $mysqli->close(); return 0; } if (!$stmt->bind_param("ii", $s->getId(), $a->getId())) { error_log("[aggiungiIscrizione] impossibile" . " effettuare il binding in input"); $mysqli->close(); return 0; } if (!$stmt->execute()) { error_log("[aggiungiIscrizione] impossibile" . " eseguire lo statement"); $mysqli->close(); return 0; } $mysqli->close(); return $stmt->affected_rows; }