Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420

    costruire div dinamici su risultato query

    Ciao a tutti;
    ho una query di questo tipo:

    Codice PHP:
    $sql "select * 
        from specialisti
        where lavoro = 'medico'"
    ;

    $row $db->query($sql);
    $res $row->fetchall(); 

    che agisce su una tabella di questo tipo:

    LAVORO|NOME
    medico|tizio
    idraulico|caio
    avvocato|sempronio
    medico|marcoaurelio


    Devo riuscire a costruire un output fatto in questo modo:

    Codice PHP:
    Medici:
    <
    div class="specialista">
        <
    span class="tipo">medico</span>
        <
    span class="nome">tizio</span>
    </
    div>
    <
    div class="specialista">
        <
    span class="tipo">medico</span>
        <
    span class="nome">marcoaurelio</span>
    </
    div
    In pratica l'outpute semplicemente deve creare una riga per ogni specialista del tipo richiesto.
    Ho scritto quindi questo codice dopo la query:

    Codice PHP:
    <?php
    foreach ($res as $rigo) {
        if (
    $rigo[0] == "medico")   {
            
    $tipo $rigo[0];
            
    $nome $rigo[1];
            
    $output "<div class="."specialista".">
                               <span class="
    ."tipo".">$tipo</span>
                               <span class="
    ."nome".">$nome</span>
                           </div>"
    ;
            }
         }
    ?>

    <body>
    Medici:
    <?php echo $output;?>

    </body>
    Il primo problema è che non so se quest' approccio è corretto.... mi sembra molto contorto ma è la prima cosa che mi è venuta in mente...
    Il secondo problema è che non mi restituisce nessun output, anche se la tabella è popolata e la query funziona correttamente...
    Il terzo problema è che se anche funzionasse, per com'è costruita dovrebbe restituirmi solo i valori del primo rigo di tipo "medico" presenti nella tabella, mentre a me servirebbe che per ogni tupla di quel lavoro mi crei un apposito rigo di output...
    Help me e grazie anticipato a chi ci capirà qualcosa!
    - "Si sono vegetariano. Diciamo che non mangio nulla che abbia un cuore"
    - "E i carciofi?"

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    al volo non testato
    Codice PHP:
    <?php
    $rec 
    mysql_query("select * from specialisti where lavoro = 'medico'") or die(mysql_error());
    while(
    $row mysql_fetch_array($rec)) {
    extract($row);
    $tab =  "<div class=\"specialista\">
                               <span class=\"tipo\">
    $lavoro</span>
                               <span class=\"nome\">
    $nome</span>
                           </div>"
    ;    
    }
    ?>
    <body>
    Medici:
    <?php echo $tab;?>

    </body>
    cosi dovrebbe estrapolare tutti i dati per la categoria medico
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Ciao,
    grazie per la risposta prima di tutto... però nn credo funzioni...
    A parte il metodo d'accesso al db e il ciclo, il codice sembra identico al mio...
    Le variabili $lavoro e $nome dove vengono valorizzate? Ammesso di valorizzarle nel mio stesso punto, alla fine del ciclo conterranno i dati dell'ultimo rigo di tipo "medico" poichè verranno sovrascritte ad ogni iterazione, quindi l'output produrrà un unico rigo, invece di un rigo per ogni record di quel tipo...
    Forse l'eco dell'output dovrebbe essere inserito nel ciclo stesso in modo da produrre un rigo ad ogni iterazione... ma a quel punto mi servirebbe una funzione per richiamarlo nel punto specifico dell'html?
    - "Si sono vegetariano. Diciamo che non mangio nulla che abbia un cuore"
    - "E i carciofi?"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.