Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 26

Discussione: While casuale

Hybrid View

  1. #1
    Allora...

    Siccome sto facendo la SELECT MULTIPLE e non sono riuscito a fare che se selezionati mette SELECTED, vedi sotto il codice PHP

    <select name=\"comp_foto[]\" size=\"10\" multiple=\"multiple\" id=\"comp_foto[]\">
    <option value=\"\"></option>";

    $queryAlbumFoto = "SELECT * FROM prova ORDER BY titolo DESC";
    $selectAlbumFoto = mysql_query($queryAlbumFoto, $connessione);

    $album_foto = explode("-", "21-18-");

    while($resultAlbumFoto = mysql_fetch_array($selectAlbumFoto))
    {

    foreach($album_foto as $disp_album_foto)
    {

    echo"<option value=\"". $resultAlbumFoto['id_album'] ."\" "; if($disp_album_foto == $resultAlbumFoto['id']) echo"selected"; echo">". $resultAlbumFoto['titolo'] ."</option>";


    }

    }

    echo"</select>";

    In realtà, non va bene perchè così nella SELECT MULTIPLE raddoppia in base a quanti record ci sono nel DB di PROVA, cioè nel DB ci sono
    ID = 21 - TITOLO = PROVA 1
    ID = 20 - TITOLO = PROVA 2
    ID = 19 - TITOLO = PROVA 3
    ID = 18 - TITOLO = PROVA 4

    Sulla maschera del modulo HTML seleziono solo il 21 e 18, lo registro poi andando su MODIFICA e nella SELECT MULTIPLE diventa:

    <option value="21" selected>PROVA 1</option>
    <option value="21">PROVA 1</option>
    <option value="21">PROVA 1</option>
    <option value="21">PROVA 1</option>
    <option value="20">PROVA 2</option>
    <option value="20">PROVA 2</option>
    <option value="20">PROVA 2</option>
    <option value="20">PROVA 2</option>
    <option value="19">PROVA 3</option>
    <option value="19">PROVA 3</option>
    <option value="19">PROVA 3</option>
    <option value="19">PROVA 3</option>
    <option value="18" selected>PROVA 4</option>
    <option value="18">PROVA 4</option>
    <option value="18">PROVA 4</option>
    <option value="18">PROVA 4</option>

    Raddoppiate 4 volte...
    Perchè? Cosa ho sbagliato sul codice PHP di sopra?

  2. #2
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Togli quel foreach e fai cosi:

    if(in_array($resultAlbumFoto['id_album'], $album_foto)){ echo 'selected'}

  3. #3
    Eccomi qua, ho provato e non funziona

  4. #4
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Codice PHP:
    $queryAlbumFoto "SELECT * FROM prova ORDER BY titolo DESC";
    $selectAlbumFoto mysqli_query($queryAlbumFoto$connessione);

    $album_foto explode("-""21-18-");

    echo 
    '<select name="comp_foto[]" size="10" multiple="multiple" id="comp_foto[]">';
    echo 
    '<option value="">seleziona</option>';

    while(
    $resultAlbumFoto mysqli_fetch_array($selectAlbumFoto))
    {
    echo 
    '<option value="'.$resultAlbumFoto['id_album'].'"';
    if(
    in_array($resultAlbumFoto['id_album'], $album_foto)){
            echo 
    ' selected';    
    }
    echo 
    '>'.$resultAlbumFoto['titolo'].'</option>';
    }
    echo 
    '</select>'
    Questo a me funziona!
    Ultima modifica di lukezz; 28-07-2015 a 09:52

  5. #5
    Grande...funziona....

    Prima avevo messo così che non funzionava

    $queryAlbumFoto = "SELECT * FROM prova ORDER BY titolo DESC";
    $selectAlbumFoto = mysqli_query($queryAlbumFoto, $connessione);

    $album_foto = explode("-", "21-18-");

    echo
    '<select name="comp_foto[]" size="10" multiple="multiple" id="comp_foto[]">';
    echo
    '<option value="">seleziona</option>';

    while(
    $resultAlbumFoto = mysqli_fetch_array($selectAlbumFoto))
    {

    if(
    in_array($resultAlbumFoto['id_album'], $album_foto))
    {
    $seleziona = '
    selected';
    }

    echo '<option value='". $resultAlbumFoto['id_album'] ."' '.$seleziona .'> '. $resultAlbumFoto['titolo'] .'</option>';
    }

    echo
    '</select>';

  6. #6
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Bene!

  7. #7
    A questo punto questo codice IN_ARRAY è come se fosse UGUALE?

    Ma questo codice è sempre esistito oppure è una cosa nuova?

  8. #8
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    http://php.net/manual/it/function.in-array.php

    Qui trovi tutte le funzioni PHP

  9. #9
    Si lo so,
    ma fino adesso che conosco benissimo e ho fatto tanti siti e-commerce, gestionale mio personale, etc..

    Davvero non ci ho fatto caso che c'è questo codice IN_ARRAY, conosco solo ARRAY :P

    Grazie davvero..

    Ma una domanda...
    visto che ci sono PHP5, PHP6 e PHP7 non fa differenza se usassi PHP4?

    Da quello che ho visto sono più sintetici rispetto al PHP4 ma sono sempre uguali la funzione e il meccanismo..

  10. #10
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Che PHP4 verrà deprecato dagli sviluppatori quindi non vi saranno più fix di bug e tutto quello che l'abbandono allo sviluppo comporta (questo dovrebbe bastare).
    Con le versioni successive puoi realizzare applicazione ad oggetti più complesse, questa è la differenza più grossa.

    Leggi questa guida: http://www.html.it/guide/guida-progr...tti-con-php-5/

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 © 2026 vBulletin Solutions, Inc. All rights reserved.