Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Combobox con 3 colonne

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138

    Combobox con 3 colonne

    Salve,
    premesso che sono poco pratico di PHP volevo sapere da voi come si crea una combobox che abbia 3 valori per riga ovvero che visualizzi un Campo "Descrizione" ma che poi quando si clicca per scegliere il valore faccia vedere:

    ID, Anno, Descrizione.

    In più avrei un'altra domanda. Questo è il codice della mia pagina:

    Codice PHP:
    <?php
    $db 
    mysqli_connect('***''********''*********');
    if( !
    $db|| mysqli_connect_errno() == true ) { 
        die( 
    "Errore durante la connessione: ".mysqli_connect_error() ); 
    }
    else {
        
    $db->select_db'ssscaten_db' );


    $result $db->query'SELECT * FROM Partita_OLD WHERE id_Stagione='.$IdStagione.'' ) or die( $db->error );


    if (
    $result->num_rows != 0)
                    {
    echo 
    "<table>";
    echo 
    "<th>N°</th><th>Data</th><th>Ora</th><th>Squadra Casa</th><th>Squadra ospite</th><th colspan='2'>Risultato</th><th></th>";

    while(
    $row $result->fetch_assoc()) 
                        {
                        
    $Id=$row['Id_Partita'];
                        
    $Data=$row['Data_Partita'];
                        
    $Ora=$row['Ora_Partita'];
                        
    $Casa=$row['Squadra_Casa'];
                        
    $Ospite=$row['Squadra_Ospite'];
                        
    $GParma=$row['Goal_Casa'];
                        
    $GOspite=$row['Goal_Ospite'];
    if (
    $Data date('Y-m-d')){
                        
    $riga "<tr bgcolor='#9966cc' >
                            <td><font color='#000'> "
    .$row['Id_Partita']."</font></td>
                            <td><font color='#000'>"
    .$row['Data_Partita']."</font></td>
                            <td><font color='#000'>"
    .$row['Ora_Partita']."</font></td>
                            <td><font color='#000'>"
    .$row['Squadra_Casa']."</font></td>
                            <td><font color='#000'>"
    .$row['Squadra_Ospite']."</font></td>
                            <td><font color='#000'>"
    .$row['Goal_Casa']."</font></td>
                            <td><font color='#000'>"
    .$row['Goal_Avversari']."</font></td>
                            <td bgcolor='#000'>[url='http://www.ssscatenati.com/?page_id=1198&Id_Stagione="
    .$IdStagione."&Id_Partita=".$Id."']DETTAGLI[/url]</td>
                          </tr> "
    ;
                        echo 
    $riga;

    }else{
    $riga "<tr>
                            <td>"
    .$row['Id_Partita']."</td>
                            <td>"
    .$row['Data_Partita']."</td>
                            <td>"
    .$row['Ora_Partita']."</td>
                            <td>"
    .$row['Squadra_Casa']."</td>
                            <td>"
    .$row['Squadra_Ospite']."</td>
                            <td>"
    .$row['Goal_Casa']."</td>
                            <td>"
    .$row['Goal_Avversari']."</td>
                            <td bgcolor='#000'>[url='http://www.ssscatenati.com/?page_id=1198&Id_Stagione="
    .$IdStagione."&Id_Partita=".$Id."']DETTAGLI[/url]</td>
                            </tr>"
    ;
                        echo 
    $riga;
    }}
    echo 
    "</table>";
    }else{
    echo 
    "Stagione inesistente";
    }

    $stag=$IdStagione;               
    $prec=$IdStagione-1;
    echo 
    "
    [url='http://www.ssscatenati.com/?page_id=1198&Id_Stagione=
    $stag']TOTALI[/url]
    "
    ;
    echo 
    "
    [url='http://www.ssscatenati.com/?page_id=16&Id_Stagione=
    $prec']Visualizza Stagione Precedente[/url]
    "
    ;
    echo 
    "
    <a href=index1.php>Torna alla pagina iniziale</a>
    "
    ;

    mysql_close($db);

    ?>
    Come potete ben capire adesso non c'è la possibilità di selezionare la stagione da visualizzare se non cliccando sui link in basso "visualizza stagione precedente". Ed è per questo che voglio mettere la combobox.
    L'altra domanda è: come faccio per rieseguire la query quando si cambia il valore della combobox (magari senza ricaricare la pagina)?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Scusami ma non capisco perchè la combo dovrebbe cambiare quando si sceglie il valore, non puoi mettere semplicemente così:

    Codice PHP:

    <select name="nomecampo">
    <?
    while($row $result->fetch_assoc()){  
    ?>
    <option value="<?= $row['id'];?>"><?= $row['Anno'];?> - <?= $row['Descrizione'];?></option>
    <?
    }
    ?>
    </select>
    per cambiare i risultati senza ricaricare la pagina usa Ajax

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    Grazie per la combobox.
    non ho capito la tua domanda invece.
    Io intendo che, per esempio, selezionando l'anno 2010 mi riesegua la query facendo vedere i valori del 2010.
    Non è la combo che cambia valore bensì la tabella sottostante!

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    ok allora la combo va bene quella, mentre per cambiare i valori sotto senza riavviare la pagina devi usare una chiamata Ajax

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    lasciando perdere un secondo Ajax che magari guarderò più avanti, per cambiare i valori riavviando la pagina?

    Già adesso come puoi vedere lui riceve in ingresso la variabile $Id_Stagione che prima mandavo attraverso i link che vedi in basso.

    Come faccio a fare la stessa cosa con questa combobox?

    Grazie

  6. #6
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    la combo dovrà essere messa in un form con un tasto di invio

    codice:
    <form action="paginaCisualizzaRisultati.php" metod="POST" name="form">
    
    <select name="id">
    ////le option le crei come abbiamo visto prima
    </select>
    
    <input type="submit" name="Ricerca" value="Ricerca" />
    a questo punto nella pagina in cui visualizzi i risultati fai una query di questo tipo:

    Codice PHP:
    $db->query'SELECT * FROM Partita_OLD WHERE id='.$_POST['id'].'' 
    dove $_POST['id'] sarà quello che ha selezionato l'utente dalla combo.

    ti conviene correggere anche il modo che usi adesso ricevendo i dati dall'url della pagina, mettendo il $_GET

    Codice PHP:
    $result $db->query'SELECT * FROM Partita_OLD WHERE id_Stagione='.$_GET['IdStagione'].'' 
    è molto più sicuro e a seconda della configurazione del server la tua sintassi non funzionerebbe

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    c'è qualcosa che non va.

    ho cambiato la prima riga del codice PHP da

    Codice PHP:
    if($_REQUEST['Id_Stagione']==NULL){
        
    $IdStagione=6;
    }else{
        
    $IdStagione=$_REQUEST['Id_Stagione'];

    a
    Codice PHP:
    if($_GET['Id_Stagione']==NULL){
        
    $IdStagione=6;
    }else{
        
    $IdStagione=$_GET['Id_Stagione'];

    come mi hai detto (nelle query poi utilizzo la variabile $IdStagione per comodità di non dover riscrivere sempre .get(blabla))

    poi ho messo
    Codice PHP:
    echo "<form action='http://www.ssscatenati.com/?page_id=16&Id_Stagione.php' name='form'>";

    echo 
    "<select name='Id_Stagione'>";
    while(
    $row mysql_fetch_assoc($risultato)){  
    echo 
    "<option value='".$row['Id_Stagione']."'>".$row['anno']." - ".$row['Descrizione']."</option>";
    }
    echo 
    "</select>";

    echo 
    "<input type='submit' name='ricerca' value='Vai' />"
    e mi crea sia la combobox che il tasto ricerca.
    Solo che se scelgo la stagione 1 e clicco su vai lui mi apre quest pagina

    Codice PHP:
    http://www.ssscatenati.com/?Id_Stagione=1&ricerca=Vai&comment=&comment_post_ID=16&comment_parent=0&_wp_unfiltered_html_comment=c8c2ee6d94&formInput= 
    come mai? L'Id_Stagione vedo che lo prende bene ma poi l'indirizzo è completamente diversoda quello che ho messo io

  8. #8
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    codice:
    echo "<form action='http://www.ssscatenati.com/?page_id=16&Id_Stagione.php' name='form'>";
    Forse hai qualche problemino in questa riga? Com'è che c'è un .php dopo dei parametri?

  9. #9
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    conconrdo con Grino,togli quel ".php" e in più devi dichiarare il metodo con cui invii i dati del form e se usi GET anche gli altri parametri (page_id) dovranno essere inviati con il form, quindi avrai qualcosa come questo

    Codice PHP:
    echo "<form action='http://www.ssscatenati.com/tuapagina.php' name='form' method="GET" >"
    echo 
    "<input type "hidden" name="page_id" value="16" />; 
    e una volta cliccato sul tasto dovresti ottenere come indirizzo:

    dove Id_Stagione sarà quello che ha scelto l'utente

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    penso di aver capito che il problema sia nel fatto che è un blog fatto su wordpress e il tema mi intercetta gli eventi dei pulsanti...

    a questo punto credo che la cosa più semplice da fare sia salvarsi da qualche parte la variabile associata alla riga selezionata nella combobox e poi mettere un link accanto che apra la pagina con la stagione uguale a questa variabile.
    Solo che non so come si fa

    EDIT:
    forse ce l'ho fatta

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.