Visualizzazione risultati 1 fino 9 di 9

Discussione: Array

  1. #1
    Guest

    Predefinito Array

    Salve a Tutti :)
    Avrei bisogno di un aiutino...
    Nella mia index ho inserito una piccola photoGallery.
    Le immagini vengono prese da una tabella del db e posizionate attraverso questo script in un div, al click sulla immagine dovrebbe apparire una descrizione della foto (anch'essa contenuta nello stesso record del db.
    Le foto vengono visualizzate correttamente etc., il problema sta nella descrizione che non capisco come mai venga visualizzata sempre la descrizione della prima fotografia nonostante sia all'interno del ciclo while anche lo script della descrione
    per farvi capire meglio vi indico il codice da me usato:
    Codice PHP:
    $query = "SELECT * FROM `gallery`";
    $risultato = mysql_query($query) or die(header("Errore"));
    $num_rows = mysql_num_rows($risultato);

    while ($rigaArrayRicerca = mysql_fetch_array($risultato)) {
    ?>


    <div id="small-dialog1" class="mfp-hide">
    <div class="pop_up">
    <h2><?php echo $rigaArrayRicerca[titolo] ?></h2>
    <p class="para"><?php echo $rigaArrayRicerca[descrizione] ?></p>
    </div>
    </div>


    <div class="portfolio logo1 mix_all" data-cat="<?php echo $rigaArrayRicerca[data_url] ?>" style="display: inline-block; opacity: 1;">
    <div class="portfolio-wrapper">
    <a class="popup-with-zoom-anim zoom pink" href="#small-dialog1">
    <img src="images/foto/<?php echo $rigaArrayRicerca[url] ?>" alt="<?php echo $rigaArrayRicerca[url] ?>" style="top: 0px;">

    </a>
    </div>
    </div>


    <?php
    }

    ?>

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Il codice PHP è corretto, difatti se provi a visualizzare il sorgente della pagina principale compaiono le due descrizioni. Il problema è che produce due elementi div con il medesimo id (small-dialog1), e quello sicuramente non è corretto.

  3. #3
    Guest

    Predefinito

    quindi teoricamente cambiando il tag da "id" a "class" dovrei risolvere?

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da tppvergotti Visualizza messaggio
    quindi teoricamente cambiando il tag da "id" a "class" dovrei risolvere?
    Beh, ID e class sono due cose che non hanno nulla in comune. Il primo (ID) identifica univocamente un elemento all'interno del documento, il secondo assegna delle classi per la sua formattazione.

    Quindi non è tanto questione di quale tag usi, ma a che ti serve.
    Trasformare ID in CLASS non avrebbe senso se ti serve un identificativo, e avresti del codice in più che non tiserve a nulla.

  5. #5
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    veramente il codice per essere corretto deve avere gli apici singoli nell'array es.
    Codice PHP:
    $rigaArrayRicerca['non_sono_una_variabile'];
    Visto che non parliamo di costanti e variabili. Supponendo che quando crei il file php lo fai così
    Codice PHP:
    <?php
    e si chiude così
    Codice PHP:
    ?>
    Con questa stringa hai chiuso il php
    Codice PHP:
    while ($rigaArrayRicerca = mysql_fetch_array($risultato)) {
    ?>
    Ultima modifica di darbula : 06-03-2016 alle ore 18.17.53

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    Beh, ID e class sono due cose che non hanno nulla in comune. Il primo (ID) identifica univocamente un elemento all'interno del documento, il secondo assegna delle classi per la sua formattazione.

    Quindi non è tanto questione di quale tag usi, ma a che ti serve.
    Trasformare ID in CLASS non avrebbe senso se ti serve un identificativo, e avresti del codice in più che non tiserve a nulla.
    A me il tag serve esclusivamente per passargli degli stili CSS

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    veramente il codice per essere corretto deve avere gli apici singoli nell'array es.
    Codice PHP:
    $rigaArrayRicerca['non_sono_una_variabile'];
    Visto che non parliamo di costanti e variabili. Supponendo che quando crei il file php lo fai così
    Codice PHP:
    <?php
    e si chiude così
    Codice PHP:
    ?>
    Con questa stringa hai chiuso il php
    Codice PHP:
    while ($rigaArrayRicerca = mysql_fetch_array($risultato)) {
    ?>
    Si lo so, la scelta è stata fatta in quanto il codice da ripetere è in formato HTML e per evitarmi la rogna di dover fare una echo in PHP con dentro l'HTML ho chiuso il PHP per riaprirlo dopo il sorgente in HTML per terminare il ciclo while

  8. #8
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Così è errato. Stai recuperando solo questa parte fissa (codice html più codice php). Così dovrebbe recuperarti solo un risultato e non tutto $rigaArrayRicerca[titolo],$rigaArrayRicerca[descrizione],$rigaArrayRicerca[data_url],$rigaArrayRicerca[url],$rigaArrayRicerca[url]. Mi sono spiegato???Per recuperare e stampare nel browser tutti i dati devi eseguire il codice html tante volte come il ciclo while.
    EDIT: Ho controllato l'esecuzione del php ed il codice è corretto.
    Ultima modifica di darbula : 06-03-2016 alle ore 22.58.36

  9. #9
    Guest

    Predefinito

    Non confondiamo però mele con pere, l'html non c'entra niente con il PHP, il php è un linguaggio server l'html è un linguaggio client, Karl faceva un'osservazione, poichè l'id in html deve essere univoco, se non è univoco provocherà un warning nell'IDE html e se cercherai di recuperare un id doppio con un document.getElementById di javascript ovviamente javascript non può sapere se prendere il div 1 o div 2 se hanno lo stesso ID, ma questo non c'entra con il PHP.
    Infatti ieri nella tua pagina c'erano due id con lo stesso nome ma due descrizioni diverse, sembra che non ci sono problemi nel recupero delle descrizioni.
    Ciao

Regole di scrittura

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