Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Combo da query

  1. #1

    Combo da query

    Ciao a tutti.
    Dovrei popolare una combo da una select.
    Ho letto varie discussioni in merito ma non riesco a far funzionare questo:



    <?

    $query = 'SELECT * FROM tblpoclasses INNER JOIN tblpousersclasses ON tblpousersclasses.lngClassesId=tblpoclasses.lngPkI d';
    $result = mysql_query($query, $myconn) or die("Errore...query" . mysql_error());
    ?>

    <h2>Area riservata</h2>
    //verifico dati
    <? for($x=0; $x<$numrows; $x++){
    $resrow = mysql_fetch_row($result);
    echo "<span class='tit'>Yard:</span> " . $resrow[2] . "
    "; ?>
    <?
    }
    ?>

    //Imposto la combo
    <? echo '<select name="Categoria">';
    while($row = mysql_fetch_row($result)){
    echo '<option value="'.$row['strDescr'].'"></option>';
    }
    echo '</select>'; ?>



    Praticamente la query di recupero dati funziona ma la combo mi appare vuota senza che la pagina dia errori.

    Potete aiutarmi?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ma da tutti valori vuoti, nulli o proprio stampa solo la option iniziale?
    se invece di
    echo '<option value="'.$row['strDescr'].'"></option>';
    scrivi
    echo '<option value="'.$row['strDescr'].'">" . $row['strDescr']. '</option>';
    cosa viene fuori?

  3. #3
    Niente
    ho provato ma rimane uguale
    La combo risulta vuota, bianca sanza nessun valore.
    Ho provato anche col tuo suggerimento ma non è cambiato nulla

    se verifico con

    //verifico dati
    <? for($x=0; $x<$numrows; $x++){
    $resrow = mysql_fetch_row($result);
    echo "<span class='tit'>Yard:</span> " . $resrow[2] . "
    "; ?>
    <?
    }
    ?>

    Mi da' il corretto contenuto per cui la query va'

    Grazie

  4. #4
    Ciao,
    non puoi riutilizzare la stessa risorsa ($result) già esaurita dal primo ciclo

    Dovresti inserire le options in una variabile e poi stamparla quando ti serve, es:

    Codice PHP:
    <h2>Area riservata</h2>
    //verifico dati
    <?php 
    $options
    ="";
    for(
    $x=0$x<$numrows$x++) {
        
    $resrow mysql_fetch_row($result);
        echo 
    "<span class='tit'>Yard:</span> " $resrow[2] . "
    "

            
    $options.='<option value="'.$row['strDescr'].'"></option>';
    }

    //Imposto la combo
    echo "<select>";
    echo 
    $options
    echo '</select>'
    ?>
    utilizza inoltre i tag <?php di apertura e non il semplice <? che è deprecato

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    oooops..
    esatto non puoi utilizzare 2 volte $result etc..

  6. #6
    Ok in realtà questa parte posso anche eliminarla

    se verifico con

    //verifico dati
    <? for($x=0; $x<$numrows; $x++){
    $resrow = mysql_fetch_row($result);
    echo "<span class='tit'>Yard:</span> " . $resrow[2] . "
    "; ?>
    <?
    }
    ?>


    La usavo solo per vedere il risultato della query

    Impostando
    <?php echo '<select name="Categoria" style="width:150px">';
    while($row = mysql_fetch_row($result)){
    echo '<option value="'.$row['strDescr'].'">"' . $row['strDescr']. '"</option>';
    }
    echo '</select>'; ?>

    Nella combo mi vedo solo "" come se fosse vuota.
    Dove sbaglio??

  7. #7
    ogni volta che usi mysql_fetch_array($result) elimini dalla risorsa il risultato ottenuto
    E' come se fosse un array al quale applichi un pop.

  8. #8
    Impostando il numero di posizione dell'array $row[2] invece che il nome campo funziona.....

    E' lo stesso ma sapete dirmi come mai?

  9. #9
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    usa
    while($row = mysql_fetch_assoc($result)){

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.