Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    4

    Realizzare una visualizzazione dinamica delle immagini

    Ciao a tutti mi sto cimentando nella realizzaazione di un sito amatoriale per un possibile studio di tatuaggi ma veniamo al dunque nella pagina book qst il link http://schoolprj.altervista.org/book.php
    ho creato un div chiamato book appunto in cui ho un immagine e due bottoni(avanti, indietro) vorrei che clikkando su di essi l'indirizzo di img cambiasse dinamicamente per proiettarmi l'immagine succesiva gli indirizzi sono salvati su una tabella chiamata foto il problema e che nn riesco ad aumentare/diminuire il contatore al clik dei bottoni in modo poi da confrontarlo con l'id nella query qui sotto vi copio il codice spero che qlcuno possa darmi una mano....vi ringrazio cmq anticipatamente per il supporto datomi dalle vostre guide

    <?php
    if ($av=true){
    $icount+=1;
    }
    else{ $icount-=1; }
    $db_name = "my_schoolprj";
    $dbhost="localhost";
    $dbusername="schoolprj";
    $dbpassword="";

    $db = @mysql_connect($dbhost, $dbusername, $dbpassword)
    or die ("errore nella connessione al database");

    $db_selected=mysql_select_db($db_name,$db)
    or
    die ("errore nella nella selezione del database");

    $query="SELECT foto
    FROM Foto
    WHERE id='$icount'";
    $salva= mysql_query($query,$db);
    $riga = mysql_fetch_array($salva)
    ?>
    <html>
    <head>
    <title>mahalo's tattoOuus Studio</title>
    <link rel="stylesheet" type="text/css" href="layelas.css">
    </head>
    <body>
    <div id="container">
    <div id="header">[img]mio/logo3el.gif[/img]</div>
    <div id="navigation">
    <ul>[*]Home[*]Book[*]Find me[*]News[*]Contact[*]Link[/list]</div>
    <div id="content">
    <h2>I nostri (capo)lavori</h2>
    <hr color="blue" size="2" width="60%" align="left">
    <div id="book">


    [img]<?php echo $riga[[/img]" width="60%" height="50%" vspace="30" hspace="3" border="1">


    [img]mio/btn.gif[/img] [img]mio/btn.gif[/img]
    </div>


    </div>

    <div id="footer">

    getgdthdfth</p></div>
    </div>



    </body>
    </html>
    FC

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Codice PHP:
    if ($av=true){ 
    I confronti si fanno con ==

    Codice PHP:
    <a href="<?php $av=true ?>">
    Cosa pensi che compaia in quell'HREF, scusa?
    E cosa compare veramente in quell'HREF? Guarda il codice HTML prodotto please.

    Ci sono un paio di soluzioni, ma prima di dirtele, guarda le cose che ti ho scritto.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    4
    nell' href deve ritornare sulla stessa pagina e un bottone anzi due uno per andare avanti e uno per andare indietro e a seconda che $av e vera o falsa aumenta o decrementa il contatore dopo lo confronta con l'id e dovrebbe restituirmi nella src dell'immagine l'indirizzo dell'immagine associato succesiva o precedente grazie dell'aiuto ma non funziona ancora
    FC

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Il ragionamento alla base è completamente sbagliato, intanto:
    Codice PHP:
    <a href="<?php $av=true ?>">
    scritto così l'HREF è vuoto perchè non c'è un echo. Anche se ci fosse ci sarebbe scritto 1, se la condizione è vera e non ci sarebbe nulla se è falsa.

    Comunque, il modo più semplice è ricaricare la stessa pagina e usare una query string per stabilire l'id, ovviamente bisogna anche tenere presente alcune cose:
    1: se stai visualizzando la prima immagine non puoi tornare indietro, e se stai visualizzando l'ultima, non puoi andare avanti.
    2: cancellando immagini è possibile che ti trovi in situazioni in cui la prossima immagine o quella precedente non ha l'id differente di 1!

    Per cui: facciamo in modo che se non c'è una query string, carica la prima immagine, se c'è carica l'immagine con l'id corrispondente, così:

    Codice PHP:
    if(round($_REQUEST["id"])==0) { $id=0; }

    //qui metti la connessione col db
    ...

    $query="SELECT foto
    FROM Foto
    WHERE id='
    $id'";
    ...

    //stabilisco se esiste una immagine precedente a quella attuale (ordinate per id)
    $query_precedente="SELECT foto
    FROM Foto
    WHERE id<'
    $id' ORDER BY id DESC LIMIT 1";
    $risorsa=mysql_query($query_precedente) or die(mysql_error());
    if(
    mysql_num_rows($risorsa)>0) { 
    $riga mysql_fetch_array($risorsa); 
    $link_precedente='[url="'.$PHP_SELF.'?id='.$riga["]precedente[/url]';
    }else{
    $link_precedente='';
    }

    //stabilisco se esiste una immagine successiva a quella attuale (ordinate per id)
    $query_successiva="SELECT foto
    FROM Foto
    WHERE id
    >'$id' ORDER BY id ASC LIMIT 1";
    $risorsa=mysql_query($query_successiva) or die(mysql_error());
    if(mysql_num_rows(
    $risorsa)>0) { 
    $riga = mysql_fetch_array($risorsa); 
    $link_successivo='[url="'.$PHP_SELF.'?id='.$riga["]successiva[/url]';
    }else{
    $link_successivo='';

    infine faccio un echo di $link_precedente e $link_successivo dove compaiono nella pagina.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    4

    GRAZIE MILLE

    grazie tante dell'aiuto so che il codice era totalmente sbagliato ma essendo che da poco lavoro con php e html o preferito inserire pezzi di codice sbagliati ma che facessero capire un po quello che intendevo fare. vorrei farti ancora qualche domandina:
    1. che cos'e e come funziona $_REQUEST e round?
    2. se sostituisco succesivo(idem per precedente) con [img]mio/btn.gif[/img] mi da errore T_string ci dev'essere qualche sbaglio nella punteggiatura sai dirmi quale?
    3. ancora però non mi cambia l'immagine ti riscrivo il codice aggiornato se qnd ai tempo gli dai un ochhiata mi fa piacere se no m'arrangerò
    <?php
    if(round($_REQUEST["id"])==0) { $id=0; }

    $db_name = "my_schoolprj";
    $dbhost="localhost";
    $dbusername="schoolprj";
    $dbpassword="";

    $db = @mysql_connect($dbhost, $dbusername, $dbpassword)
    or die ("errore nella connessione al database");

    $db_selected=mysql_select_db($db_name,$db)
    or
    die ("errore nella nella selezione del database");

    $query="SELECT foto
    FROM Foto
    WHERE id='$id'";

    //stabilisco se esiste una immagine precedente a quella attuale (ordinate per id)
    $query_precedente="SELECT foto
    FROM Foto
    WHERE id<'$id' ORDER BY id DESC LIMIT 1";
    $risorsa=mysql_query($query_precedente) or die(mysql_error());
    if(mysql_num_rows($risorsa)>0) {
    $riga = mysql_fetch_array($risorsa);
    $link_precedente='[img]mio/btn.gif[/img]';
    }else{
    $link_precedente='';
    }


    //stabilisco se esiste una immagine successiva a quella attuale (ordinate per id)
    $query_successiva="SELECT foto
    FROM Foto
    WHERE id>'$id' ORDER BY id ASC LIMIT 1";
    $risorsa=mysql_query($query_successiva) or die(mysql_error());
    if(mysql_num_rows($risorsa)>0) {
    $riga = mysql_fetch_array($risorsa);
    $link_successivo='[img]mio/btn.gif[/img]';
    }else{
    $link_successivo='';
    }
    ?>
    <html>
    <head>
    <title>mahalo's tattoOuus Studio</title>
    <link rel="stylesheet" type="text/css" href="layelas.css">
    </head>
    <body>
    <div id="container">
    <div id="header">[img]mio/logo3el.gif[/img]</div>
    <div id="navigation">
    <ul>[*]Home[*]Book[*]Find me[*]News[*]Contact[*]Link[/list]</div>
    <div id="content">
    <h2>I nostri (capo)lavori</h2>
    <hr color="blue" size="2" width="60%" align="left">
    <div id="book">


    [img]<?php echo $riga[[/img]" width="60%" height="50%" vspace="30" hspace="3" border="1">


    <?php echo $link_successivo; ?> <?php echo $link_precedente; ?>
    </div>


    </div>

    <div id="footer">

    getgdthdfth</p></div>
    </div>



    </body>
    </html>

    Grazie ancora del tuo aiuto ciaoooooo!!
    FC

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    ops, ho fatto un errore, cancella questa riga:
    Codice PHP:
    if(round($_REQUEST["id"])==0) { $id=0; } 
    e scrivi al suo posto questa:
    Codice PHP:
    if(round($_REQUEST["id"])>=0) { $id=round($_REQUEST["id"]); } 
    rispondo alle tue dom.
    1: $_REQUEST è l'array che contiene le informazioni di una query string.
    Significa che se tu carichi una pagina con un url che contiene una query string come questo:
    Codice PHP:
    index.php?foo=bar&asd=lol 
    l'array request in questa pagina CON questo url avrà questi valori
    Codice PHP:
    $_REQUEST["foo"]=> bar
    $_REQUEST
    ["asd"]=> lol 
    La funzione round arrotonda i numeri interi e trasforma le stringhe vuote in 0

    Codice PHP:
    $link_precedente='[url="'.$PHP_SELF.'?id='.$riga["][img]mio/btn.gif[/img][/url]'; 
    Nel tuo codice non hai fatto l'escape degli apici in corrispondenza degli event onMouse, in pratica dove ci sono this.src='mio/btn.gif' devi aggiungere un carattere \ prima di ogni apostrofo

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.