- Home
- Categorie
- Coding e Sistemistica
- PHP
- Ricavare nome da una tabella
-
Ricavare nome da una tabella
Salve a tutti, io vorrei (nel mio caso) ricavare i nomi degli immobili che ho messo nel database.
Ho fatto questa funzione su functions.php[PHP]function leggiImmobili() {
$conn = dbConnect();
$sql = "SELECT codice FROM immobile";
$risposta = mysql_query($sql) or die("Errore nella query: ".$sql. "\n". mysql_error());
if (mysql_num_rows($risposta) == 0)
return false;$i = 0;
while($riga = mysql_fetch_row($risposta)){
$res* = $riga[0];
$i++;
}
return $res;
mysql_close($conn);}[/PHP]nel file che mi serve la funzione, richiamo con include la pagina.php , e vorrei far stampare i nomi degli immobili dentro una tabella.
[HTML]<td class="td_description">
<p><?php leggiImmobili() ?> </p>
</td>[/HTML]non so in cosa sbaglio
-
Intanto la tua query SELECT codice FROM immobile permette di avere a disposizione solo il codice dovresti come minimo cambiare codice con *****
-
@linoma said:
Intanto la tua query SELECT codice FROM immobile permette di avere a disposizione solo il codice dovresti come minimo cambiare codice con *****
Per codice è la colonna identificativa di tutti gli immobili, insomma dovrebbe darmi tutti i codici identificatifi degli immobili
-
Presumevo che codice fosse un identificativo ma non il nome. Qiindi fatta la select * from immbile tra i vari campi avrai anche il nome dell'immobile che andrai successivamente a visualizzare per ogni riga della tabella restituita da mysql. Con un codice tipo questo
$risposta = mysql_query($sql) or die("Errore nella query: ".$sql. "\n". mysql_error()); if (mysql_num_rows($risposta) == 0) return false; while($riga = mysql_fetch_row($risposta)){ echo $riga['nome']; }
-
@linoma said:
Presumevo che codice fosse un identificativo ma non il nome. Qiindi fatta la select * from immbile tra i vari campi avrai anche il nome dell'immobile che andrai successivamente a visualizzare per ogni riga della tabella restituita da mysql. Con un codice tipo questo
> $risposta = mysql_query($sql) or die("Errore nella query: ".$sql. "\n". mysql_error()); if (mysql_num_rows($risposta) == 0) return false; while($riga = mysql_fetch_row($risposta)){ echo $riga['nome']; } >``` Altro dubbio che mi è sorto. Così mi stampa tutti i nomi degli immobili. Se io vorrei stampare l'immobile 1 in una <tr>, l'immobile 2 in un'altro <tr>, l'immobile 3 in un <tr>, come posso fare? perchè se richiamo > <?php inserisciImmbile() ?> mi stampa tutti i risultati trovati. Si potrebbe fare che mi trova un immobile random e me lo stampa in un <tr>, n'altro a random e me lo stampa in un'altro <tr> ?? come devo richiamare poi la funzione inserisciImmobile() ?
-
Puoi cambiare la riga in
echo "<tr><td>".$riga['nome']."</td></tr>";
-
Sì così funzia e lo stampa in 3 tr diverse. Ora ho posto il caso semplice, il mio è un pò più complicato.
nella pagina content.php ho una tabella , che in poche parole fa la scheda riassunto dell'immobile (denominazione,status,prezzo,descrizione).
La funzione che ho creato è questa:
function leggiRiassuntoScheda() {$conn = dbConnect();
$sqldenom ="SELECT * FROM immobile codice Limit";
$sqldesc ="SELECT * FROM immobile codice Limit";
$sqlstatus ="SELECT * FROM immobile";
$sqlprz = "SELECT * FROM immobile Limit";
$rispostadenom = mysql_query($sqldenom) or die ("Errore nella query: ".$sql."\n". mysql_error());
$rispostastatus = mysql_query($sqlstatus) or die ("Errore nella query: ".$sql."\n". mysql_error());
$rispostaprz = mysql_query($sqlprz) or die ("Errore nella query: ".$sql."\n". mysql_error());
$rispostadesc = mysql_query($sqldesc) or die ("Errore nella query: ".$sql."\n". mysql_error());while ($rigadenom = mysql_fetch_array($rispostadenom)) {
echo "<p class="p_tab_den"><span class="blue">".$rigadenom['denominazione']."</p>";}
while ($rigastatus = mysql_fetch_array($rispostastatus)) {
echo "<p class="p_tab"><span class="blue">Status: <span class="red">".$rigastatus['status']."</p>";}
while ($rigaprz = mysql_fetch_array($rispostaprz)) {
echo "<p class="p_tab"><span class="blue">Prezzo: <span class="red">".$rigaprz['prezzo']."</p>";}
while ($rigadesc = mysql_fetch_array($rispostadesc)) {
echo "<p class="p_tab_desc">".$rigadesc['descrizione']."</p>";}
}mentre su content.php la tabella in questione è questa:
<table><tr>
<td class="td_photo"> <img src="images_immobili/Imm001.jpg" width='300' height='212'/></td>
<td class="td_description">
<p class="p_tab_desc"><?php QUI-IL-NOME-FUNZIONE() ?> </p>
</td>
</tr>
</table><table>
<tr>
<td class="td_photo"><img src="images_immobili/Imm002.jpg" width='300' height='212'/></td>
<td class="td_description">
<p class="p_tab_desc"><?php QUI-IL-NOME-FUNZIONE() ?> </p>
</td>
</tr>
</table><table>
<tr>
<td class="td_photo"> <img src="images_immobili/Imm003.jpg" width='300' height='212' /></td>
<td class="td_description">
<p class="p_tab_desc"><?php QUI-IL-NOME-FUNZIONE() ?> </p>
</td>
</tr>
</table>Quindi in sostanza son 3 le tabelle, nella prima vorrei la scheda riassunto dell'immobile 1, nella seconda la scheda riassunto dell'immbile 2...ecc...come si può fare?
-
ho migliorato il codice del file content.php invece che fare 3 tabelle statiche con ognuna un immobile, ho fatto un ciclo for, risparmiando molto codice, che riporto il codice:
<table> <?php for ($i=0; $i<3; $i++){
echo '<tr>';
echo '<td class="td_photo"> <img src="images_immobili/Imm001.jpg" width='300' height='212'/></td>';
echo '<td class="td_description"> ';
echo '<p class="p_tab_desc">'.leggiRiassuntoScheda().'</p>';
echo '</td>';
echo '</tr>';} ?>
</table>come potrei ad ogni giro di for richiamare un immobile diverso nel database? in sostanza richiamare un immobile random dal database? come implemento la funzione rand() ?