cenarius_88
01-04-2016, 15:34
Salve a tutti, vorrei realizzare tramite un server locale (XAMPP) impostando opportunamente il contenuto in pagine di HTML + PHP la gestione di una database
Spiego l'idea base
Ho una tabella di persone(id, nome, cognome, data_di_nascita) e una tabella info(id,id_persona,peso,altezza,età) collegate tra di loro tramite persona.id=info.id_personae devo poter
visualizzare in forma tabellare tutte le righe e i campi di persone e persone join info(escluso gli id, magari paginata a blocchi di 30 persone con link <prev;next>) comprese 3 icone relative a "dettagli" "modifica" "cancella" ad ognuna delle quali associo, magari in altre pagine php, la gestione della relativa funzione.
Non mi importa l'aspetto grafico, quanto l'aspetto tecnico implementativo...
Parto dall'idea che il tutto deve essere effettuato tramite query SQL, e spulciando in rete ho visto che si adopera l'accoppiata PHP+MSQLi (conformazione orientata agli oggetti)
Ho sempre provato a fare le query in modo procedurale, e quindi all'arrivo del modo orientato agli oggetti mi trovo "leggermente" disorientato (so cosa è la programmazione ad oggetti)
Dato per assodato che ho una pagina php in cui sono miste righe di HTML e di PHP ed una pagina php solo per contenere le funzioni relative
Nel file delle funzioni ho qualcosa di questo tipo:
$nomehost = "localhost";
$nomeuser = "usr";
$password = "pswd";
$nomedb = "database";
$conn = new mysqli($nomehost,$nomeuser,$password,$nomedb);
//visualizzazione di tutti gli utenti
function utenti($query,$conn){
$result = $conn->query($query);
$result->data_seek(0);
while($row = $result->fetch_assoc()){
echo
'<span class="cella">' . $row['cognome'] . '</span>' .
'<span class="cella">' . $row['nome'] . '</span>' .
'<span class="cella">' . date('d-m-Y', strtotime($row['data di nascita'])) . '</span>' .
'<span class="icon">' . '<a href="#?id='. $row['id'] . '"><img src="images/edit.png" alt="modifica" title="modifica"></a>' . '</span>' .
'<span class="icon">' . '<a href="#?id='. $row['id'] . '"><img src="images/delete.png" alt="cancella" title="cancella"></a>' . '</span>' .
'<br>';
}
}
che poi includo nel file d base tramite l'apposito tag..
Il dubbio sta nel fatto che, così come l'ho impostato, ho l'idea che appena viene eseguita l'inclusione php nell'HTML viene automaticamente effettuata la connessione al database e viene lasciata aperta (anche perchè non ho implementato la funzione che chiude tutto e non ho ancora gestito eventuali errori) in attesa che venga richiamata la funzione utenti(.....)
Se volessi fare qualcosa di più pulito dovrei fare tipo
$nomehost = "localhost";
$nomeuser = "usr";
$password = "pswd";
$nomedb = "database";
//visualizzazione di tutti gli utenti
function utenti($query){
//solo quando richiamata avvio la connessione al database)
$conn = new mysqli($nomehost,$nomeuser,$password,$nomedb);
//effettuo la query che viene dall'esterno
$result = $conn->query($query);
$result->data_seek(0);
while($row = $result->fetch_assoc()){
echo
'<span class="cella">' . $row['cognome'] . '</span>' .
'<span class="cella">' . $row['nome'] . '</span>' .
'<span class="cella">' . date('d-m-Y', strtotime($row['data di nascita'])) . '</span>' .
'<span class="icon">' . '<a href="#?id='. $row['id'] . '"><img src="images/edit.png" alt="modifica" title="modifica"></a>' . '</span>' .
'<span class="icon">' . '<a href="#?id='. $row['id'] . '"><img src="images/delete.png" alt="cancella" title="cancella"></a>' . '</span>' .
'<br>';
}
}
??
Scusate se mi sono dilungato e se magari sono stato poco chiaro...
Spiego l'idea base
Ho una tabella di persone(id, nome, cognome, data_di_nascita) e una tabella info(id,id_persona,peso,altezza,età) collegate tra di loro tramite persona.id=info.id_personae devo poter
visualizzare in forma tabellare tutte le righe e i campi di persone e persone join info(escluso gli id, magari paginata a blocchi di 30 persone con link <prev;next>) comprese 3 icone relative a "dettagli" "modifica" "cancella" ad ognuna delle quali associo, magari in altre pagine php, la gestione della relativa funzione.
Non mi importa l'aspetto grafico, quanto l'aspetto tecnico implementativo...
Parto dall'idea che il tutto deve essere effettuato tramite query SQL, e spulciando in rete ho visto che si adopera l'accoppiata PHP+MSQLi (conformazione orientata agli oggetti)
Ho sempre provato a fare le query in modo procedurale, e quindi all'arrivo del modo orientato agli oggetti mi trovo "leggermente" disorientato (so cosa è la programmazione ad oggetti)
Dato per assodato che ho una pagina php in cui sono miste righe di HTML e di PHP ed una pagina php solo per contenere le funzioni relative
Nel file delle funzioni ho qualcosa di questo tipo:
$nomehost = "localhost";
$nomeuser = "usr";
$password = "pswd";
$nomedb = "database";
$conn = new mysqli($nomehost,$nomeuser,$password,$nomedb);
//visualizzazione di tutti gli utenti
function utenti($query,$conn){
$result = $conn->query($query);
$result->data_seek(0);
while($row = $result->fetch_assoc()){
echo
'<span class="cella">' . $row['cognome'] . '</span>' .
'<span class="cella">' . $row['nome'] . '</span>' .
'<span class="cella">' . date('d-m-Y', strtotime($row['data di nascita'])) . '</span>' .
'<span class="icon">' . '<a href="#?id='. $row['id'] . '"><img src="images/edit.png" alt="modifica" title="modifica"></a>' . '</span>' .
'<span class="icon">' . '<a href="#?id='. $row['id'] . '"><img src="images/delete.png" alt="cancella" title="cancella"></a>' . '</span>' .
'<br>';
}
}
che poi includo nel file d base tramite l'apposito tag..
Il dubbio sta nel fatto che, così come l'ho impostato, ho l'idea che appena viene eseguita l'inclusione php nell'HTML viene automaticamente effettuata la connessione al database e viene lasciata aperta (anche perchè non ho implementato la funzione che chiude tutto e non ho ancora gestito eventuali errori) in attesa che venga richiamata la funzione utenti(.....)
Se volessi fare qualcosa di più pulito dovrei fare tipo
$nomehost = "localhost";
$nomeuser = "usr";
$password = "pswd";
$nomedb = "database";
//visualizzazione di tutti gli utenti
function utenti($query){
//solo quando richiamata avvio la connessione al database)
$conn = new mysqli($nomehost,$nomeuser,$password,$nomedb);
//effettuo la query che viene dall'esterno
$result = $conn->query($query);
$result->data_seek(0);
while($row = $result->fetch_assoc()){
echo
'<span class="cella">' . $row['cognome'] . '</span>' .
'<span class="cella">' . $row['nome'] . '</span>' .
'<span class="cella">' . date('d-m-Y', strtotime($row['data di nascita'])) . '</span>' .
'<span class="icon">' . '<a href="#?id='. $row['id'] . '"><img src="images/edit.png" alt="modifica" title="modifica"></a>' . '</span>' .
'<span class="icon">' . '<a href="#?id='. $row['id'] . '"><img src="images/delete.png" alt="cancella" title="cancella"></a>' . '</span>' .
'<br>';
}
}
??
Scusate se mi sono dilungato e se magari sono stato poco chiaro...