• User

    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


  • User Attivo

    Intanto la tua query SELECT codice FROM immobile permette di avere a disposizione solo il codice dovresti come minimo cambiare codice con *****


  • User

    @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


  • User Attivo

    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'];
    }
    
    

  • User

    @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() ?

  • User Attivo

    Puoi cambiare la riga in

    
    echo "<tr><td>".$riga['nome']."</td></tr>";
    
    

  • User

    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?


  • User

    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() ?