Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: do while

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    do while

    ciao a tutti

    vorrei duplicare gli elementi in base ad i record del database solo che il ciclo è nidificato dentro un'altro ciclo come posso fare??

    :master:

    codice:
    <?php do { ?>
     <tr>
    <td width="17%" nowrap></td>
    <td width="83%" nowrap><span class="Stile7"><?php echo $row_padre['titolo']; ?></span></td>
    </tr>
    <tr>
    <td nowrap><div align="right"></div></td>
    <td nowrap>
    <ul>
    <li class="Stile6">
    <?php
    mysql_select_db($database_actionlab, $actionlab);
    $query_figlio = sprintf("SELECT * FROM figli_flotta WHERE legame = %s", $row_padre['Id']);
    $figlio = mysql_query($query_figlio, $actionlab) or die(mysql_error());
    $row_figlio = mysql_fetch_assoc($figlio);
    $totalRows_figlio = mysql_num_rows($figlio);
    echo $row_figlio['descrizione']; ?>
    [/list]</td>
    </tr>
    <?php } while ($row_padre = mysql_fetch_assoc($padre)); ?>
    grazie

  2. #2
    Utente di HTML.it L'avatar di daveus
    Registrato dal
    Apr 2005
    Messaggi
    34
    forse devi spiegarti meglio, secondo me
    ma non fare affidamento su quello che ti chiedo perchè potrebbe essere il mio piccolo cervello a non capire
    Ciao, Davide

  3. #3
    do ... while

    essendo questo costrutto fatto in modo tale che il do venga eseguito a prescindere dal while ed essendo nel tuo caso il while la fonte dei dati ($row_padre = mysql_fetch_assoc($padre)) ed essendo questa reperibile solo dopo il do ... come puoi pensare di usare $row_padre['Id'] e compagnia bella dentro il do , se $row_padre['Id'] lo definisci dopo ???

    tipico esempio da ciclo, normalissimo in while ... come sempre e' stato per i records ...


    while($row_padre = mysql_fetch_assoc($padre)) {
    etc etc .... $row_padre['Id'] .... etc etc
    }
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    non ho ben capito quello che vuoi dire


    allora io dovrei ottenere un'albero....

    ti spiego cosa intendo fare (poi tu dimmi se ti sembra fattibile)

    stampo il padre con l'ID del padre faccio una ricerca per vedere se ha figli eventualmente stampo tutti i figli e rinizio il ciclo, quindi stampo il secondo padre e rifaccio la ricerca....



    altrimenti come posso fare?? :master:

    Grazie

  5. #5
    E' il while che legge il risultato della query...

    se usi do per il primo "giro" la tua query risultera' vuota... perke' non l'hai ancora letto i risultati...

    codice:
     while ($row_padre = mysql_fetch_assoc($padre)){
     <tr>
    <td width="17%" nowrap> </td>
    <td width="83%" nowrap><span class="Stile7"><?php echo $row_padre['titolo']; ?></span></td>
    </tr>
    <tr>
    <td nowrap><div align="right"></div></td>
    <td nowrap>
    <ul>
    <li class="Stile6">
    <?php
    mysql_select_db($database_actionlab, $actionlab);
    $query_figlio = sprintf("SELECT * FROM figli_flotta WHERE legame = %s", $row_padre['Id']);
    $figlio = mysql_query($query_figlio, $actionlab) or die(mysql_error());
    $row_figlio = mysql_fetch_assoc($figlio);
    $totalRows_figlio = mysql_num_rows($figlio);
    echo $row_figlio['descrizione']; ?>
    [/list]</td>
    </tr>
    }
    p.s.
    controlla i tag di apertura/chiusura di php io ho fatto un semplice copia/incolla
    La vita sarebbe piu' facile se avessi il codice sorgente!

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ho provato cosi ma non mi caccia tutti i figli, stampa solo il primo


    codice:
    <?php  while ($row_padre = mysql_fetch_assoc($padre)){?>
    <tr>
    <td width="17%" nowrap> </td>
    <td width="83%" nowrap><span class="Stile7"><?php echo $row_padre['titolo']; ?></span></td>
    </tr>
    <tr>
    <td nowrap><div align="right"></div></td>
    <td nowrap>
    <ul>
    <li class="Stile6">
    <?php
    mysql_select_db($database_actionlab, $actionlab);
    $query_figlio = sprintf("SELECT * FROM figli_flotta WHERE legame = %s", $row_padre['Id']);
    $figlio = mysql_query($query_figlio, $actionlab) or die(mysql_error());
    $row_figlio = mysql_fetch_assoc($figlio);
    $totalRows_figlio = mysql_num_rows($figlio);
    echo $row_figlio['descrizione']; ?>
    [/list]</td>
    </tr>
    <? }; ?>

  7. #7
    prova a togliere il ; dopo la chiusura del while...
    La vita sarebbe piu' facile se avessi il codice sorgente!

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    mm... nulla ma come è possibile!!

    codice:
    <?php  while ($row_padre = mysql_fetch_assoc($padre)){?>
    <tr>
    <td width="17%" nowrap> </td>
    <td width="83%" nowrap><span class="Stile7"><?php echo $row_padre['titolo']; ?></span></td>
    </tr>
    <tr>
    <td nowrap><div align="right"></div></td>
    <td nowrap>
    <ul>
    <li class="Stile6">
    <?php
    mysql_select_db($database_actionlab, $actionlab);
    $query_figlio = sprintf("SELECT * FROM figli_flotta WHERE legame = %s", $row_padre['Id']);
    $figlio = mysql_query($query_figlio, $actionlab) or die(mysql_error());
    $row_figlio = mysql_fetch_assoc($figlio);
    $totalRows_figlio = mysql_num_rows($figlio);
    echo $row_figlio['descrizione']; ?>
    [/list]</td>
    </tr>
    <? } ?>


  9. #9
    posta la query dei padri... magari e' li l'errore...
    La vita sarebbe piu' facile se avessi il codice sorgente!

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    codice:
    $query_padre = "SELECT * FROM albero_flotta";
    $padre = mysql_query($query_padre, $actionlab) or die(mysql_error());
    $row_padre = mysql_fetch_assoc($padre);
    $totalRows_padre = mysql_num_rows($padre);

    :master:

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.