Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    popolazione dinamica select con explode iniziale dei dati

    Questo il problema:
    ho un campo db in cui vengono registrati dei dati costituiti da una o più parole (il n è variabile); se le parole sono più di una, vengono separate con un hashtag #.
    Con queste parole, devo popolare una select.
    Ho provato a fare così:
    Codice PHP:
    <select name="artist" id="artist" class="setselect" onchange="MM_jumpMenu('parent',this,0)">
          <option>SELEZIONARE</option><?PHP
    $result 
    mysql_query("SELECT * FROM `artisti` GROUP BY `amb_ricerca` ORDER BY `amb_ricerca` ASC");
    while (
    $row mysql_fetch_array($result)) {
        
    $ambric $row["amb_ricerca"];
        
    $conta_occ substr_count($ambric"#"); 
        
    $final $conta_occ-1;
        
    $ambricrow explode("#",$ambric);
        
    $selettore "";
            for (
    $i=0;$i>=$final;$i++) {
                
    $selettore .= "<option value=\"byart.php?l=" $lang "&ar=" $ambricrow[$i] . "&j=k\" style=\"background-color: #fff\">" $ambricrow[$i] . "</option>\n";
            }

    echo 
    $selettore;
    ?></select>
    ma non mi restituisce nulla. Questo il codice html generato:
    codice:
    <select name="artist" id="artist" class="setselect" onchange="MM_jumpMenu('parent',this,0)">
          <option>SELEZIONARE</option></select>
    Dove sto toppando?
    metatad
    graphic & web design

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    1- Sconsiglio vivamente questo approccio, rabbrividisco ogni volta che lo vedo !!!!
    2- imposta delle funzioni corrette
    3- crea la stringa delle option
    4- inline della stringa.

    MAI MAI MAI mescolare il codice in questo modo, ti fai solo del male.
    Lo script e' illegibile, hai codice NON rilutilizzabile, difficle da debuggare e gestire:

    1- funzione estrazione dati
    2- funzioni analisi e formattazione dati
    3- stampa i dati.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    I consigli - e gli sconsigli - sono sempre bene accetti, del resto è questa la funzione di un forum, però se si limitano a dire "è sbagliato" non servono a granché.
    Dici:
    1- funzione estrazione dati
    2- funzioni analisi e formattazione dati
    3- stampa i dati
    Sarò scemo, ma è quello che faccio.
    - estraggo i dati (variabile $ambric)
    - creo la stringa delle option formattata come necessario
    - faccio l'echo della stringa
    Visto che non funziona, evidentemente c'è qualche errore al secondo punto. Ed evidentemente questo errore mi sfugge, altrimenti non starei qui a chiedere suggerimenti.
    A questo punto, quel che mi può tornare utile è l'indicazione dell'errore formale, prima di tutto, ed eventualmente di una soluzione migliore.
    Il resto, è superfluo.
    metatad
    graphic & web design

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Definire superflua una buona organizzazione del codice e' indice che o sei agli inizi oppure non hai ben chiaro come comportarti con la scrittura di codice utile.

    Io consiglio dempre di partire da una buona scrittura del codice cosi' risolvi in primis molti problemi legati al caos che si crea mescolando cose di contesti differenti.

    Quindi i consigli che ti posso dare in questo contesto ti tornano utili in quanto puoi scrivere codice migliore e piu' riutilizzabile. Se poi vuoi preseguire per lat ua strada sei liberissimo di farlo.

    Prova a postare l'errore e vediamo.

    Ma (parlo personalmente poi in forum c'e' chi ha ancora voglia) sinceramente mettermi a debuggare codice non mio non e' il mio lavoro. Se sono qui e' per dare un mano a chi ha meno esperienza e per imparare da chi ne ha piu' di me.
    Solitamente tendo a consigliare soluzioni in "linguaggio naturale" anche per spronarvi a capire che la pappa pronta e' un lusso che non sempre si ha e imparare a pensare e a ragionare sulle soluzioni e' l'unica cosa che vi aiuterà davvero a proseguire come professionisti nell'ambiente della programmazione.
    Se poi non avete voglia di ragionare, pensare e anche di dire : "cacchio forse sto sbagliando, vediamo facendo come mi dicono impostando le funzioni...." e considerare le soluzioni proposte... beh in questo caso io personalmente mi fermo. Ti aiuteranno altri.

    Nel caso specifico ho consigliato una ristrutturazione del codice in modo che le procedure fossero meno coese, fornissero routines riutilizzabili in contesti differenti, nonche' al livello strutturale dell'applicazione fosse piu' facile per te gestire il tutto.

    Quindi se vuoi applichi quanto consiglio, altrimenti posta l'errore e debugghiamo quel codice.
    Ma ribadisco e' un aproccio che ti crea solo problemi.

    inoltre non hai nemmeno specificato correttamente la struttura della stringa che analizzi.
    Unitamente al fatto che vedo che utilizzi stringhe tipo csv per salvare dati in una colonna.
    Dati che dovrebbero invece essere normalizzati nell'apposita tabella di relazione e per i quali l'opportuna query te li fa caricare senza dover uscire di testa ad esplodere stringhe ...

    Insomma ... sono davvero perplesso. cmq fai attenzione che nel ciclo esegui conteggi di occorrenze estrate dalla stringa prenonsisachemotivo.

    $ambricrow = explode("#",$ambric);
    $final = count($ambicrow) ;

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.