Visualizzazione risultati 1 fino 5 di 5

Discussione: Concatenare stringhe

  1. #1
    Guest

    Talking Concatenare stringhe

    Ciao ragazzi!

    Devo creare una micro gallery di 10 immagini in php dove gli indirizzi delle immagini vengono presi dal db.

    Prima prendo gli indirizzi con un ciclo

    Codice PHP:

    while ($riga = mysql_fetch_assoc($result)) {

    $url_img1=$riga["Field58"];
    $url_img2=$riga["Field59"];
    $url_img3=$riga["Field60"];
    $url_img4=$riga["Field61"];
    $url_img5=$riga["Field62"];
    $url_img6=$riga["Field63"];
    $url_img7=$riga["Field66"];
    $url_img8=$riga["Field67"];
    $url_img9=$riga["Field68"];
    $url_img10=$riga["Field69"];
    Di queste dovrei poi fare due cose
    1) il controllo: se esiste l'immagine
    2) se esite implementare una cosa del genere (uso del lightbox):

    Codice PHP:


    echo"<div class='gallery'>";

    for (
    $i = 1; $i <= 10; $i++) {

    echo
    "
    <a href='http://blabla
    $url_img $i' rel='lightbox[gallery]'>
    <div style='background-image:url(http://blabla
    $url_img $i)'></div>
    </a>
    "
    ;
    }
    echo
    "</div><br style='clear: both;'/>";
    dove "http://blabla $url_img $i"
    sarebbe l'url del sito + $url_img=nomeimmagine.jpg + $i=numero compreso tra 1 e 10.

    La stringa href='http://blabla $url_img $i' però non è corretta...ho provato anche ad aggiungere il punto ma non riesco a concatenare tutto e l'url finale è sempre incompleto!!
    Sapete come aggiustare la stringa con le variabili?

    Il risultato finale dovrebbe essere:

    per $i da 1 a 10
    se $url_img+$i esiste
    allora mostrami link e immagine

    ciao a tutti!

  2. #2
    Guest

    Predefinito

    1) if(file_exists(percorso + nome file)

    2) in teoria, quando usi le virgolette per delimitare le stringhe da stampare, basta scrivere le variabili così come sono e vengono automaticamente interpretate. Se questo non avviene molto probabilmente ti aspetti dei valori che in verità non ci sono.
    Prova a stampare le singole variabili e vedi se sono correttamente valorizzate.


    Ciao!

  3. #3
    Guest

    Predefinito

    Ciao :)
    Ho fatto come mi hai giustamente consigliato....
    eppure non c'è nulla di buono! O_O

    Togliendo di mezzo il for per semplificare le cose ho fatto una cosa del genere:
    Codice PHP:
    $i = 1;

    echo
    "url: $i $url_img$i";
    ed il risultato in stampa è --> 1 1
    quindi invece che richiamare il valore $url_img1

    Codice PHP:
    $url_img1=$riga["Field58"];
    interpreta solo $i e non il valore insieme $url_img$i

    Quale credi sia il motivo?
    Non è forse tutta una questione di priorità nell'ordine delle interpretazioni?
    Ultima modifica di ilaextras : 27-05-2009 alle ore 09.34.03

  4. #4
    Guest

    Predefinito

    Ah... non avevo capito cosa volessi fare!
    La cosa è un po' più complessa, ma non tanto.
    Guarda la funzione eval()


    Ciao!

  5. #5
    Guest

    Predefinito

    Ciao debug...devo ringraziarti ancora una volta.
    Ho fatto un po' di prove e alla fine il risultato è arrivato.

    Il codice finale è questo..semmai potesse servire da aiuto ai posteri :)

    Codice PHP:
    /* devo recuperare dal db l'url di 10 immagini, la cui struttura è questa
    $url_img1=$riga["Field58"];
    etc... */


    for ( $i = 1; $i <= 10; $i++) {
    $img = "$";

    $img .= "url_img$i";

    eval(
    "\$img = \"$img\";");

    // così il valore di $img sarà $url_img1, $url_img2, $url_img3...etc..
    //echo "$img <br />";


    if ($img != null) {
    echo
    "
    <img src=\"
    $img\" />


    "
    ;}
    //else {echo "no-img";};
    } //if

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •