• 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 😉