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