• User

    aiutatemi a trovare la soluzione per questo ciclo....

    in una pagina php ho questo codice inserito in un ciclo che si ripete sin quando finisce l'elenco di tutti le 'cittaX'
    <?php <div align="justify"><?php echo $row_rs_itin_an_filtr['cittaX']; ?> </div>
    <?php <div align="justify"><?php echo $row_rs_itin_an_filtr['monumento']; ?> </div>
    pero' con questo codice la medesima città viene ripetuta per ogni singolo monumento cioè
    ASSISI
    eremo delle carceri
    ASSISI
    Basilica
    ASSISI
    S.Chiara
    PERUGIA
    Fontana
    BEVAGNA
    Teatro Romano
    come si fa il ciclo per ottenere qualcosa di simile a quanto riportato qui sotto? (cioè come si fa il ciclo dicendo di scrivere i monumenti tutti di seguito sin quando il valore cittaX non cambia?)
    ASSISI
    eremo delle carceri
    Basilica
    S.Chiara
    PERUGIA
    Fontana
    BEVAGNA
    Teatro Romano


  • Consiglio Direttivo

    Ciao thenax

    puoi fare un primo ciclo che ti estrapola solo il nome della città ed a questo annidi un altro ciclo che come condizione WHERE avrà il nome della città passante nel ciclo principale:
    [php]$sql = "SELECT citta FROM table";
    $query = mysql_query($sql);

    while (list($citta)=mysql_fetch_row($query))
    {
    echo $citta;
    $sql_mon="SELECT monumento FROM table1 WHERE citta='$citta'";
    $query_mon=mysql_query($sql_mon);
    while (list($monumento)=mysql_fetch_row($query_mon))
    {
    echo $monumento;
    }
    }[/php]
    Un qualcosa del genere 😉


  • User

    Allora....eccoti qua il codice:
    [php]
    while ($row_rs_itin_an_filtr = VEDI TU){

    //Controllo se l'ultima città stampata a video è uguale
    //Se lo è non la mostro altrimenti la mostro a video
    if ($ultima != $row_rs_itin_an_filtr['cittaX']){
    echo '<div align="justify">'.$row_rs_itin_an_filtr['cittaX'].'</div>';
    }

    echo '<div align="justify">'.$row_rs_itin_an_filtr['monumento'].'</div>';

    //Setto l'ultima città mostrata a video
    $ultima = $row_rs_itin_an_filtr['cittaX'];
    }
    [/php]

    Dovrebbe funzionare anche questo risparmiando qualche query.


  • User

    @Siremar said:

    Allora....eccoti qua il codice:
    [php]
    while ($row_rs_itin_an_filtr = VEDI TU){

    //Controllo se l'ultima città stampata a video è uguale
    //Se lo è non la mostro altrimenti la mostro a video
    if ($ultima != $row_rs_itin_an_filtr['cittaX']){
    echo '<div align="justify">'.$row_rs_itin_an_filtr['cittaX'].'</div>';
    }

    echo '<div align="justify">'.$row_rs_itin_an_filtr['monumento'].'</div>';

    //Setto l'ultima città mostrata a video
    $ultima = $row_rs_itin_an_filtr['cittaX'];
    }
    [/php]Dovrebbe funzionare anche questo risparmiando qualche query.

    diciamo che questo è il codice che stavo cercando, però purtroppo non mi funziona
    ?forse il problema non è cosi? semplice come sembra o forse sono io che sono impedito.

    In pratica ho questa query

    $query_rs_itin_an_filtr = sprintf("SELECT i.itinerarioanaliticoID, i.itinerario, i.giornoX, i.cittaX, i.profilocittaX, g.giornocardinale, m.monumento, FROM tbl_itinerarianalitici i LEFT JOIN tbl_giornicardinali g ON i.giornoX = g.giornoID LEFT JOIN tbl_monumenti m ON i.itinerarioanaliticoID = m.itinID WHERE giornoX = $_GET['giornoX'] AND itinerario = $_GET['nomeitinerario'] ORDER BY giornoX"??

    $rs_itin_an_filtr = mysql_query($query_rs_itin_an_filtr, $server) or die(mysql_error());
    $row_rs_itin_an_filtr = mysql_fetch_assoc($rs_itin_an_filtr);
    $totalRows_rs_itin_an_filtr = mysql_num_rows($rs_itin_an_filtr);

    E a seguire il codice che stampa la pagina (per ogni itinerario vi è l?intestazione con scritto primo giorno o secondo giorno, ecc. e sotto vengono stampate le città con il loro profilo, monumenti e le curiosità e, anche se per voi questo non ha alcuna rilevanza, il tutto suddiviso per giornate con la stampa di una barra dove vengono elencati dei numeri e ad ogni numero corrisponde un giorno di visita)

    <?php if ($totalRows_rs_itin_an_filtr > 0) { // Show if recordset not empty ?>
    <?php //questo codice verifica e stampa la giornata di visita visualizzando il numero cardinale
    $prec = '0';
    $cercag = isset($_REQUEST['giornoX']) ? $_REQUEST['giornoX'] : '';
    do {
    $oggi = $row_rs_itin_an_filtr['giornoX'];
    $oggicard = $row_rs_itin_an_filtr['giornocardinale'];
    if (($oggi != $cercag) && ($cercag != ''))
    continue;
    if ($prec != $oggi)
    {
    $prec = $oggi;
    print <<<GIORNOCARD
    <h5 align="center"><class="bodyText Stile61">$oggicard</h5>
    GIORNOCARD;
    }
    ?><ul>
    <li>
    //il codice qui sotto richiama il nome della città
    <h6 align="left" class="bodyText Stile59"><?php echo $row_rs_itin_an_filtr['cittaX']; ?>
    </h6>
    </li>
    </ul>
    <table width="727" height="131" border="0" cellpadding="3" cellspacing="0">
    <tr>
    // il codice qui sotto richiama la descrizione della città
    <td width="727"><div align="justify"><span class="bodyText"><?php echo $row_rs_itin_an_filtr['profilocittaX']; ?></span></div>
    </tr>
    </table>
    <div align="justify"></div>
    <h5 align="left" class="bodyText Stile58 Stile60">
    ** Cosa vedere </h5> //da qui si fa un elenco dei monumenti da vedere in questa citta
    <div align="justify"><?php echo $row_rs_itin_an_filtr['monumento']; ?> </div>
    <?php } while ($row_rs_itin_an_filtr = mysql_fetch_assoc($rs_itin_an_filtr)); ?>
    <br /> **
    <em><strong>Esplora gli altri giorni</strong></em>
    <table>
    <tr>
    <?php
    $giorni = array('1','2','3','4','5','6','7','8','9','10','11','12');
    $barra = '';
    $ultimog = $row_maxgiorno['MAX(giornoX)'];
    $questog = $_GET['giornoX'];
    $itin = $_GET['nomeitinerario'];
    foreach($giorni as $giorno)
    {
    if ($giorno == $questog)
    $barra .= <<<SENZAURL
    <td><strong>$giorno</strong><td>
    SENZAURL;
    else
    if ($giorno <= $ultimog)
    $barra .= <<<CONURL
    <td><a href="itinerari_dettagli.php?nomeitinerario=$itin&giornoX=$giorno">$giorno</a></td>
    CONURL;
    }
    print $barra ;
    ?>
    </tr>
    </table>
    <?php } // Show if recordset not empty ?>

    dove devo inserire le modifiche che mi hai suggerito tu? grazie


  • User

    Mi sono permesso di ritoccarti il codice...

    Spero che funzioni (prima di provarlo ovviamente backuppati il tuo)

    [php]
    <?php
    //Scrivo la query e la eseguo
    /QUA OVVIAMENTE METTICI LA TUA QUERY GIUSTA/
    $query_rs_itin_an_filtr = "SELECT i.itinerarioanaliticoID, i.itinerario, i.giornoX, i.cittaX, i.profilocittaX, g.giornocardinale, m.monumento, FROM tbl_itinerarianalitici i LEFT JOIN tbl_giornicardinali g ON i.giornoX = g.giornoID LEFT JOIN tbl_monumenti m ON i.itinerarioanaliticoID = m.itinID WHERE giornoX = $_GET['giornoX'] AND itinerario = $_GET['nomeitinerario'] ORDER BY giornoX";
    $rs_itin_an_filtr = mysql_query($query_rs_itin_an_filtr, $server) or die(mysql_error());
    $row_rs_itin_an_filtr = mysql_fetch_assoc($rs_itin_an_filtr);
    $totalRows_rs_itin_an_filtr = mysql_num_rows($rs_itin_an_filtr);
    //Vedo se la query mi da dei risultati
    if ($totalRows_rs_itin_an_filtr > 0) {
    $prec = '0';
    //Se non è settato il numero del giorno
    //Ad esso lo assegno vuoto
    $cercag = isset($_REQUEST['giornoX']) ? $_REQUEST['giornoX'] : '';
    while ($row_rs_itin_an_filtr = mysql_fetch_assoc($rs_itin_an_filtr)){
    $oggi = $row_rs_itin_an_filtr['giornoX'];
    $oggicard = $row_rs_itin_an_filtr['giornocardinale'];
    //Se il giorno processato non è uguale a quello interessato
    //salto l'esecuzione di questo ciclo riprendendo dall'inizio
    //di quello successivo
    if (($oggi != $cercag) && ($cercag != '')){
    continue;
    }
    if ($prec != $oggi) {
    $prec = $oggi;
    echo '<h5 align="center"><class="bodyText Stile61">'.$oggicard.'</h5>';
    }
    //Vedo se il monumento che mi ha estratto
    //risale alla stessa vittà o meno
    if ($ultima != $row_rs_itin_an_filtr['cittaX']){
    echo <<<EOT
    <ul>
    <li>
    <h6 align="left" class="bodyText Stile59">{$row_rs_itin_an_filtr['cittaX']}</h6>
    </li>
    </ul>
    <table width="727" height="131" border="0" cellpadding="3" cellspacing="0">
    <tr>
    <td width="727"><div align="justify"><span class="bodyText">{$row_rs_itin_an_filtr['profilocittaX']}</span></div>
    </tr>
    </table>
    <div align="justify"></div>
    <h5 align="left" class="bodyText Stile58 Stile60">Cosa vedere</h5>
    EOT;
    }
    echo '<div align="justify">'.$row_rs_itin_an_filtr['monumento'].'</div>';
    $ultima = $row_rs_itin_an_filtr['cittaX'];
    }
    ?>
    <br />
    <em><strong>Esplora gli altri giorni</strong></em>
    <table>
    <tr>
    <?php
    $giorni = array('1','2','3','4','5','6','7','8','9','10','11 ','12');
    $barra = '';
    $ultimog = $row_maxgiorno['MAX(giornoX)'];
    $questog = $_GET['giornoX'];
    $itin = $_GET['nomeitinerario'];
    foreach($giorni as $giorno)
    {
    if ($giorno == $questog)
    $barra .= <<<SENZAURL
    <td><strong>$giorno</strong><td>
    SENZAURL;
    else
    if ($giorno <= $ultimog)
    $barra .= <<<CONURL
    <td><a href="itinerari_dettagli.php?nomeitinerario=$itin& giornoX=$giorno">$giorno</a></td>
    CONURL;
    }
    print $barra ;
    ?>
    </tr>
    </table>
    <?php } ?>
    [/php]


  • User

    @Siremar said:

    Mi sono permesso di ritoccarti il codice...

    Spero che funzioni (prima di provarlo ovviamente backuppati il tuo)

    [php]
    <?php
    //Scrivo la query e la eseguo
    /QUA OVVIAMENTE METTICI LA TUA QUERY GIUSTA/
    $query_rs_itin_an_filtr = "SELECT i.itinerarioanaliticoID, i.itinerario, i.giornoX, i.cittaX, i.profilocittaX, g.giornocardinale, m.monumento, FROM tbl_itinerarianalitici i LEFT JOIN tbl_giornicardinali g ON i.giornoX = g.giornoID LEFT JOIN tbl_monumenti m ON i.itinerarioanaliticoID = m.itinID WHERE giornoX = $_GET['giornoX'] AND itinerario = $_GET['nomeitinerario'] ORDER BY giornoX";
    $rs_itin_an_filtr = mysql_query($query_rs_itin_an_filtr, $server) or die(mysql_error());
    $row_rs_itin_an_filtr = mysql_fetch_assoc($rs_itin_an_filtr);
    $totalRows_rs_itin_an_filtr = mysql_num_rows($rs_itin_an_filtr);
    //Vedo se la query mi da dei risultati
    if ($totalRows_rs_itin_an_filtr > 0) {
    $prec = '0';
    //Se non è settato il numero del giorno
    //Ad esso lo assegno vuoto
    $cercag = isset($_REQUEST['giornoX']) ? $_REQUEST['giornoX'] : '';
    while ($row_rs_itin_an_filtr = mysql_fetch_assoc($rs_itin_an_filtr)){
    $oggi = $row_rs_itin_an_filtr['giornoX'];
    $oggicard = $row_rs_itin_an_filtr['giornocardinale'];
    //Se il giorno processato non è uguale a quello interessato
    //salto l'esecuzione di questo ciclo riprendendo dall'inizio
    //di quello successivo
    if (($oggi != $cercag) && ($cercag != '')){
    continue;
    }
    if ($prec != $oggi) {
    $prec = $oggi;
    echo '<h5 align="center"><class="bodyText Stile61">'.$oggicard.'</h5>';
    }

    sto verificando il codice a pezzi....ora ho provato a modificare solo questa parte tralasciando la parte successiva della città, profilo e monumenti e purtroppo non funge a dovere in quanto questo codice relativo alla giornata mi mangia il primo monumento della prima città visitata il primo giorno! non so se dopo aver terminato di inserire tutto va a posto oppure no....ma non credo...e non mi chiedere perchè...non lo so proprio!!


  • User

    @thenax said:

    sto verificando il codice a pezzi....ora ho provato a modificare solo questa parte tralasciando la parte successiva della città, profilo e monumenti e purtroppo non funge a dovere in quanto questo codice relativo alla giornata mi mangia il primo monumento della prima città visitata il primo giorno! non so se dopo aver terminato di inserire tutto va a posto oppure no....ma non credo...e non mi chiedere perchè...non lo so proprio!!

    sembra non funzionare, la pagina non mi si carica....
    avendomi modificato il codice, e senzaltro in maniera più chiara, sono un po' confuso....

    provo a postarti il codice intero della pagina....guarda se riesci a fare miracoli 🙂 grazie!!!
    [php]
    <?php if ($totalRows_rs_itin_an_filtr > 0) { // Show if recordset not empty ?>
    <br />
    <?php
    $prec = '0';
    $cercag = isset($_REQUEST['giornoX']) ? $_REQUEST['giornoX'] : '';
    do {
    $oggi = $row_rs_itin_an_filtr['giornoX'];
    $oggicard = $row_rs_itin_an_filtr['giornocardinale'];
    if (($oggi != $cercag) && ($cercag != ''))
    continue;
    if ($prec != $oggi)
    {
    $prec = $oggi;
    print <<<GIORNOCARD
    <h5 align="center"><class="bodyText Stile61">$oggicard</h5>
    GIORNOCARD;
    }
    ?><ul>
    <li>
    <h6 align="left" class="bodyText Stile59"><?php echo $row_rs_itin_an_filtr['cittaX']; ?>
    <?php if (($row_rs_itin_an_filtr['appunti'] != "")) { // Show if recordset not empty ?>

    <br />
    <span class="Stile67" onclick="MM_openBrWindow('appunti.php?itinerarioanaliticoID=<?php echo $row_rs_itin_an_filtr['itinerarioanaliticoID']; ?>','','scrollbars=yes,width=250,height=250')">clicca qui (appunti di viaggio)</span><?php } // Show if recordset not empty ?></h6>
    </li>
    </ul>
    <table width="727" height="131" border="0" cellpadding="3" cellspacing="0">
    <tr>
    <td width="727"><div align="justify"><span class="bodyText"><?php echo $row_rs_itin_an_filtr['profilocittaX']; ?></span></div>
    <br />
    <div align="center"><span class="bodyText Stile59"><img src="<?php echo $row_rs_itin_an_filtr['fotocittaX']; ?>" hspace="5" /></span></div></td>
    </tr>
    </table>
    <h6 align="left" class="bodyText Stile59"></h6>
    <div align="justify"></div>
    <h5 align="left" class="bodyText Stile58 Stile60">
    Cosa vedere </h5>
    <div align="justify"><?php echo $row_rs_itin_an_filtr['monumento']; ?> </div>
    <?php if (($row_rs_itin_an_filtr['curiositacittaX'] != "")) { // Show if recordset not empty ?>
    <p align="left" class="bodyText Stile58"><br />
    <span class="bodyText Stile58 Stile60">Curiosità</span></p>
    <div align="justify"><?php echo $row_rs_itin_an_filtr['curiositacittaX']; ?> <br />
    </div>
    <?php } // Show if recordset not empty ?>
    <?php } while ($row_rs_itin_an_filtr = mysql_fetch_assoc($rs_itin_an_filtr)); ?>
    <br /><br />
    <em><strong>Esplora gli altri giorni</strong></em>
    <table>
    <tr>
    <?php
    $giorni = array('1','2','3','4','5','6','7','8','9','10','11','12');
    $barra = '';
    $ultimog = $row_maxgiorno['MAX(giornoX)'];
    $questog = $_GET['giornoX'];
    $itin = $_GET['nomeitinerario'];
    foreach($giorni as $giorno)
    {
    if ($giorno == $questog)
    $barra .= <<<SENZAURL
    <td><strong>$giorno</strong><td>
    SENZAURL;
    else
    if ($giorno <= $ultimog)
    $barra .= <<<CONURL
    <td><a href="itinerari_dettagli.php?nomeitinerario=$itin&giornoX=$giorno">$giorno</a></td>
    CONURL;
    }
    print $barra ;
    ?>
    </tr>
    </table>
    <?php } // Show if recordset not empty ?><p align="justify"><span class="subHeader"><a href="modulomessaggio.php">Contact Us</a> | 2007 Marco & Gabriella </span></p>
    </div></td>
    </tr>
    <tr>
    <td width="165" bgcolor="#E6F3FF"><a href="<?php if ($row_rs_nazioni['nazioneID'] != 1)
    {
    echo $row_rs_nazioni['turismoURL'];
    }
    else
    {
    echo $row_rs_regione['turismoURL'];
    }
    ?>" target="_blank" class="navText">Ufficio Turismo </a></td>
    </tr>
    <tr>
    <td width="165" bgcolor="#E6F3FF"><a href="<?php if ($row_rs_nazioni['nazioneID'] != 1)
    {
    echo $row_rs_nazioni['meteoURL'];
    }
    else
    {
    echo $row_rs_regione['meteoURL'];
    }
    ?>" target="_blank" class="navText">Meteo Kataweb </a></td>
    </tr>
    <tr>
    <td width="165" bgcolor="#E6F3FF"><a href="foto<?php echo $_GET['nomeitinerario']; ?>/foto<?php echo $_GET['nomeitinerario']; ?>.html" target="_blank" class="navText">Fotogallery </a></td>
    </tr>
    </table>
    </div>
    </div>
    <div class="bodyText" id="Layer2">
    <div align="justify"><?php echo $row_rs_itinfiltr['brevedescrizionedeltour']; ?></div>
    </div>
    <p> </p>
    <p> </p>
    </body>
    </html>
    [/php]


  • User

    oops ho sbagliato.....il codice della pagina è questo qui sotto. così funzionerebbe bene a parte il fatto che il punto dell'elenco puntato, profilocittaX e il titolo 'Cosa vedere' vengono ripetuti più volte ma la città no....

    come faccio ad eliminare questo problema??

    [php]
    <?php if ($totalRows_rs_itin_an_filtr > 0) { // ?>
    <?php
    $prec = '0';
    $citta_precedente="";
    $cercag = isset($_REQUEST['giornoX']) ? $_REQUEST['giornoX'] : '';
    do {
    $oggi = $row_rs_itin_an_filtr['giornoX'];
    $oggicard = $row_rs_itin_an_filtr['giornocardinale'];
    if (($oggi != $cercag) && ($cercag != ''))
    continue;
    if ($prec != $oggi)
    {
    $prec = $oggi;
    print <<<GIORNOCARD
    <h5 align="center"><class="bodyText Stile61">$oggicard</h5>
    GIORNOCARD;
    }
    ?>
    <ul>
    <li>
    <h1 align="left" class="Stile59 bodyText"><strong><?php if ($citta_precedente != $row_rs_itin_an_filtr['cittaX']) echo $row_rs_itin_an_filtr['cittaX']; ?> </strong></h1>
    </li>
    </ul>
    <table width="727" height="131" border="0" cellpadding="3" cellspacing="0">
    <tr>
    <td width="727"><div align="justify"><span class="bodyText"><?php echo $row_rs_itin_an_filtr['profilocittaX']; ?></span></div>
    <br />
    <div align="center"><span class="bodyText Stile59"><img src="<?php echo $row_rs_itin_an_filtr['fotocittaX']; ?>" hspace="5" /></span></div></td>
    </tr>
    </table>
    <h6 align="left" class="bodyText Stile59"></h6>
    <div align="justify"></div>
    <h5 align="left" class="bodyText Stile58 Stile60">
    Cosa vedere </h5>
    <div align="justify">
    <p> <?php $row_rs_itin_an_filtr['monumento'] =
    preg_replace("/([a-zA-Z]+://[a-z0-9_.-]+".
    "[a-z]{2,6}[a-zA-Z0-9/*_-?&%=,.]+)/", '<a href="$1" style="text-decoration:
    underline;background:none;display:inline;padding:0;margin:0;font-size:
    12px;" target="_blank">sito ufficiale</a>', $row_rs_itin_an_filtr['monumento']);
    echo $row_rs_itin_an_filtr['monumento'];
    ?> </p>
    </div>
    <?php if (($row_rs_itin_an_filtr['curiositacittaX'] != "")) { // Show if recordset not empty ?>
    <h5 align="left" class="bodyText Stile58"><br />
    <span class="bodyText Stile58 Stile60">Curiosità</span></h5>
    <div align="justify">
    <p><?php echo $row_rs_itin_an_filtr['curiositacittaX']; ?> <br />
    </p>
    </div>
    <?php } // Show if recordset not empty ?>
    <?php if (($row_rs_itin_an_filtr['appunti'] != "")) { // Show if recordset not empty ?>
    <h5 align="left" class="bodyText Stile58"><br />
    <span class="bodyText Stile58 Stile60">Diario di Viaggio</span></h5>
    <div align="justify">
    <p><?php echo $row_rs_itin_an_filtr['appunti']; ?> <br />
    </p>
    </div>
    <?php } // Show if recordset not empty ?><br />
    <?php $citta_precedente= $row_rs_itin_an_filtr['cittaX']; ?>
    <?php } while ($row_rs_itin_an_filtr = mysql_fetch_assoc($rs_itin_an_filtr)); ?>
    <br />
    <em><strong>Esplora gli altri giorni</strong></em>
    <table>
    <tr>
    <?php
    $giorni = array('1','2','3','4','5','6','7','8','9','10','11','12');
    $barra = '';
    $ultimog = $row_maxgiorno['MAX(giornoX)'];
    $questog = $_GET['giornoX'];
    $itin = $_GET['nomeitinerario'];
    foreach($giorni as $giorno)
    {
    if ($giorno == $questog)
    $barra .= <<<SENZAURL
    <td><strong>$giorno</strong><td>
    SENZAURL;
    else
    if ($giorno <= $ultimog)
    $barra .= <<<CONURL
    <td><a href="itinerari_dettagli.php?nomeitinerario=$itin&giornoX=$giorno">$giorno</a></td>
    CONURL;
    }
    print $barra ;
    ?>
    </tr>
    </table>
    <?php } // Show if recordset not empty ?>
    [/php]


  • User

    Prova così....

    Purtroppo se non vedo come da a video la pagina non riesco a rendermi conto.

    [PHP]
    <?php if ($totalRows_rs_itin_an_filtr > 0) { // ?>
    <?php
    $prec = '0';
    $citta_precedente="";
    $cercag = isset($_REQUEST['giornoX']) ? $_REQUEST['giornoX'] : '';
    do {
    $oggi = $row_rs_itin_an_filtr['giornoX'];
    $oggicard = $row_rs_itin_an_filtr['giornocardinale'];
    if (($oggi != $cercag) && ($cercag != ''))
    continue;
    if ($prec != $oggi)
    {
    $prec = $oggi;
    print <<<GIORNOCARD
    <h5 align="center"><class="bodyText Stile61">$oggicard</h5>
    GIORNOCARD;}
    ?>
    <?php if ($citta_precedente != $row_rs_itin_an_filtr['cittaX']){?>
    <ul>
    <li>
    <h1 align="left" class="Stile59 bodyText"><strong> <?php echo $row_rs_itin_an_filtr['cittaX']; ?> </strong></h1>
    </li>
    </ul>
    <table width="727" height="131" border="0" cellpadding="3" cellspacing="0">
    <tr>
    <td width="727"><div align="justify"><span class="bodyText"><?php echo $row_rs_itin_an_filtr['profilocittaX']; ?></span></div>
    <br />
    <div align="center"><span class="bodyText Stile59"><img src="<?php echo $row_rs_itin_an_filtr['fotocittaX']; ?>" hspace="5" /></span></div></td>
    </tr>
    </table>
    <h6 align="left" class="bodyText Stile59"></h6>
    <div align="justify"></div>
    <h5 align="left" class="bodyText Stile58 Stile60">
    Cosa vedere </h5>
    <?php } ?>
    <div align="justify">
    <p> <?php $row_rs_itin_an_filtr['monumento'] =
    preg_replace("/([a-zA-Z]+://[a-z0-9_.-]+".
    "[a-z]{2,6}[a-zA-Z0-9/*_-?&%=,.]+)/", '<a href="$1" style="text-decoration:
    underline;background:none;display:inline;padding:0;margin:0;font-size:
    12px;" target="_blank">sito ufficiale</a>', $row_rs_itin_an_filtr['monumento']);
    echo $row_rs_itin_an_filtr['monumento'];
    ?> </p>
    </div>
    <?php if (($row_rs_itin_an_filtr['curiositacittaX'] != "")) { // Show if recordset not empty ?>
    <h5 align="left" class="bodyText Stile58"><br />
    <span class="bodyText Stile58 Stile60">Curiosità</span></h5>
    <div align="justify">
    <p><?php echo $row_rs_itin_an_filtr['curiositacittaX']; ?> <br />
    </p>
    </div>
    <?php } // Show if recordset not empty ?>
    <?php if (($row_rs_itin_an_filtr['appunti'] != "")) { // Show if recordset not empty ?>
    <h5 align="left" class="bodyText Stile58"><br />
    <span class="bodyText Stile58 Stile60">Diario di Viaggio</span></h5>
    <div align="justify">
    <p><?php echo $row_rs_itin_an_filtr['appunti']; ?> <br />
    </p>
    </div>
    <?php } // Show if recordset not empty ?><br />
    <?php $citta_precedente= $row_rs_itin_an_filtr['cittaX']; ?>
    <?php } while ($row_rs_itin_an_filtr = mysql_fetch_assoc($rs_itin_an_filtr)); ?>
    <br />
    <em><strong>Esplora gli altri giorni</strong></em>
    <table>
    <tr>
    <?php
    $giorni = array('1','2','3','4','5','6','7','8','9','10','11','12');
    $barra = '';
    $ultimog = $row_maxgiorno['MAX(giornoX)'];
    $questog = $_GET['giornoX'];
    $itin = $_GET['nomeitinerario'];
    foreach($giorni as $giorno)
    {
    if ($giorno == $questog)
    $barra .= <<<SENZAURL
    <td><strong>$giorno</strong><td>
    SENZAURL;else
    if ($giorno <= $ultimog)
    $barra .= <<<CONURL
    <td><a href="itinerari_dettagli.php?nomeitinerario=$itin&giornoX=$giorno">$giorno</a></td>
    CONURL;}
    print $barra ;
    ?>
    </tr>
    </table>
    <?php } // Show if recordset not empty ?>
    [/PHP]


  • User

    @Siremar said:

    Prova così....

    Purtroppo se non vedo come da a video la pagina non riesco a rendermi conto.

    [php]
    <?php if ($citta_precedente != $row_rs_itin_an_filtr['cittaX']){?>

    [/php]

    mi dà "Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in" in questa riga....

    ad ogni modo puoi renderti conto della videata su itinerarinelmondo.net/itinerari_dettaglibackup.php?nomeitinerario=2&giornoX=2


  • User

    nessuno ha qualche idea?


  • User

    Sostituisci la riga:
    [PHP]
    if (($oggi != $cercag) && ($cercag != ''))
    continue;
    [/PHP]

    con questa

    [PHP]
    if (($oggi != $cercag) && ($cercag != '')){
    continue;
    }
    [/PHP]

    Il Ciclo foreach alla fine con questo
    [PHP]
    foreach($giorni as $giorno){
    if ($giorno == $questog){
    $barra .= <<<SENZAURL
    <td><strong>$giorno</strong><td>
    SENZAURL;
    } elseif ($giorno <= $ultimog){
    $barra .= <<<CONURL
    <td><a href="itinerari_dettagli.php?nomeitinerario=$itin&giornoX=$giorno">$giorno</a></td>
    CONURL;
    }
    print $barra ;
    }
    [/PHP]

    Prova così...io e te abbiamo due modi molto diversi di programmare quindi meglio di così non riesco a fare.

    Comunque l'errore non credo sia in quella riga...la mi pare tutto corretto


  • User

    @Siremar said:

    Sostituisci la riga:
    [php]
    if (($oggi != $cercag) && ($cercag != ''))
    continue;
    [/php]con questa

    [php]
    if (($oggi != $cercag) && ($cercag != '')){
    continue;
    }
    [/php]
    Il Ciclo foreach alla fine con questo
    [php]
    foreach($giorni as $giorno){
    if ($giorno == $questog){
    $barra .= <<<SENZAURL
    <td><strong>$giorno</strong><td>
    SENZAURL;
    } elseif ($giorno <= $ultimog){
    $barra .= <<<CONURL
    <td><a href="itinerari_dettagli.php?nomeitinerario=$itin&giornoX=$giorno">$giorno</a></td>
    CONURL;
    }
    print $barra ;
    }
    [/php]Prova così...io e te abbiamo due modi molto diversi di programmare quindi meglio di così non riesco a fare.

    Comunque l'errore non credo sia in quella riga...la mi pare tutto corretto

    ma questo cambiamento cosa andrebbe ad influenzare? cosa cambia rispetto a prima??


  • User

    @Samyorn said:

    Ciao thenax

    puoi fare un primo ciclo che ti estrapola solo il nome della città ed a questo annidi un altro ciclo che come condizione WHERE avrà il nome della città passante nel ciclo principale:
    [php]$sql = "SELECT citta FROM table";
    $query = mysql_query($sql);

    while (list($citta)=mysql_fetch_row($query))
    {
    echo $citta;
    $sql_mon="SELECT monumento FROM table1 WHERE citta='$citta'";
    $query_mon=mysql_query($sql_mon);
    while (list($monumento)=mysql_fetch_row($query_mon))
    {
    echo $monumento;
    }
    }[/php]Un qualcosa del genere 😉

    Alla fine ho adottato la tua soluzione molto piu' semplice e soprattutto funzionante!

    [php]
    <div align="justify">
    <p> <?php
    $sql_mon = "SELECT monumento, descrizione, itinID FROM tbl_monumenti WHERE $itin = itinID";
    $query_mon = mysql_query($sql_mon);
    while (list($monumento) = mysql_fetch_row($query_mon))
    {
    echo "$monumento: ";
    }
    ?> </p>
    </div>
    [/php]

    se ora volessi aggiungere la descrizione del monumento subito dopo i ":" come va modificato il codice? grazie mille!


  • Consiglio Direttivo

    [php]$sql = "SELECT citta FROM table";
    $query = mysql_query($sql);

    while (list($citta)=mysql_fetch_row($query))
    {
    echo $citta;
    $sql_mon="SELECT monumento, descrizione FROM table1 WHERE citta='$citta'";
    $query_mon=mysql_query($sql_mon);
    while (list($monumento, $descrizione)=mysql_fetch_row($query_mon))
    {
    echo $monumento." :".$descrizione;
    }
    }
    [/php]
    🙂


  • User

    grazie mille!


  • Consiglio Direttivo

    de nada 😉