PDA

View Full Version : [PHP] Stampa risultato query jon in php


simerba
02-04-2013, 10:34
Ciao, avrei necessità di una mano:

Ho un database mysql di nome "testing"
All'interno ci sono due tabelle "scrittore" e "libro" composte dai seguenti campi:

tabella "scrittore":
id
nome

tabella "libro":
id
titolo
idscrittore

Ora vorrei creare una pagina scritta in php formulando una query con una jon creando una relazione uno a molti tra scrittore.id e libro.idscrittore e successivamente visualizzare il risultato a video.

Ho questa query:

SELECT libro.titolo, scrittore.nome FROM libro JOIN scrittore ON libro.idscrittore = scrittore.id

La query so che funziona in quanto l'ho provata in phpmyadmin e mi restituisce correttamente i valori.

Quello che mi manca di capire in tutto questo è come stampare il risultato della query, a video in un browser, usando il codice php.
Qualcuno può aiutarmi per favore?
grazie in anticipo.
ciao, Simone.

Mettiu_
02-04-2013, 10:49
Ciao, avrei necessità di una mano:

Ho un database mysql di nome "testing"
All'interno ci sono due tabelle "scrittore" e "libro" composte dai seguenti campi:

tabella "scrittore":
id
nome

tabella "libro":
id
titolo
idscrittore

Ora vorrei creare una pagina scritta in php formulando una query con una jon creando una relazione uno a molti tra scrittore.id e libro.idscrittore e successivamente visualizzare il risultato a video.

Ho questa query:

SELECT libro.titolo, scrittore.nome FROM libro JOIN scrittore ON libro.idscrittore = scrittore.id

La query so che funziona in quanto l'ho provata in phpmyadmin e mi restituisce correttamente i valori.

Quello che mi manca di capire in tutto questo è come stampare il risultato della query, a video in un browser, usando il codice php.
Qualcuno può aiutarmi per favore?
grazie in anticipo.
ciao, Simone.

Ciao, il codice PHP dovrebbe assomigliare a qualcosa di simile:

/* Sostituisci i parametri con i tuoi dati */
$conn = @mysqli_connect($host, $user, $password, $db);
/* Inserisci qui la tua query */
$query = "LA_TUA_QUERY";
/* La query viene adesso eseguita */
$ris = @mysqli_query($conn, $query);
if(!$ris)
{
/* La query non è andata a buon fine */
echo "Errore nel DB";
mysqli_close($conn);
return;
}
/* Stampi il risultato della query con un ciclo */
while($riga = mysqli_fetch_array($ris, MYSQLI_ASSOC))
{
/* Qui si specifica il nome delle colonne che vuoi stampare: in questo caso 'nome' e 'titolo' */
echo $riga['nome'].$riga['titolo']."</br>";
}

Effettua gli opportuni aggiustamenti e vedi se funge :)

simerba
02-04-2013, 11:31
Grazie Mettiu_
funziona alla grandissima.

solo una cosa ancora se puoi:

mi stampa i risultati in questo modo:

titolo1simone
titolo2antonio

come vedi sono attaccati e vorrei aggiungere uno spazio.
Ho provato ad inserire '& nbsp ;' ma mi da errore.
Tu sai mica come si fa?
Grazie ancora.
Ciao Simone.

idoido
02-04-2013, 12:05
devi usare l'operatore di concatenamento (.) e mettere uno spazio

echo $riga['nome']." ".$riga['titolo']."</br>";

oppure con un trattino in mezzo

echo $riga['nome']." - ".$riga['titolo']."</br>";

Mettiu_
02-04-2013, 12:14
Ho provato ad inserire '& nbsp ;' ma mi da errore.
Tu sai mica come si fa?
Grazie ancora.
Ciao Simone.

Puoi fare come suggerito da idoido. Tuttavia ti consiglio di provare a mettere questi dati in una tabella. Se conosci un pò di HTML dovrebbe essere un gioco da ragazzi ;)

simerba
02-04-2013, 12:18
Grazie idoido
Funziona alla grande.

Io sono a posto grazie mille ancora ad entrambi.

N.B. I forum di HU sono sempre frequentati da gente molto disponibile e simpatica.

Ciao, Simone.