Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema array con select

    Codice PHP:
    $id = array();
    $nomi = array();
    $cognomi = array();
    $query mysql_query("SELECT id,nome,cognome FROM GIOCATORI WHERE squadra = '$team'") or die(mysql_error());
    while(
    $row mysql_fetch_array($query)){
    $id[] = "$row[id]";
    $nomi[] = "$row[nome]";
    $cognomi[] = "$row[cognome]";
    echo <<<END
    <form method="post" action="script.php">
    <table>
    <tr><td width="200px">Capitano</td><td><select name="capitano">
    <option value=
    {$id}>{$nomi} {$cognomi}</option>
    </select></td></tr>
    </table>
    </form>
    END;

    Ciao a tutti ho un problema con questo script.
    Praticamente devo estrarre dalla tabella giocatori gli id,nomi e cognomi dei giocatori che hanno team='$team'.
    Quindi li inserico in un array e poi li posto...il problema è che nel select mi esce scritto Array Array...cosa sbaglio?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Sbagli il fatto che $id, $nomi e $cognomi sono array, dungue non puoi semplicemente scrivere $id, $nome e $cognome per stamparne il contenuto.
    devi mettere la generazione dei tag <option> dentro un for e stampare $id[$i], $nome[$i] e $cognome[$i] per $i che va da 0 al numero di elementi-1 di uno qualunque degli array dato che hanno dimensioni uguali.

    In alternativa puoi risparmiarti di mettere i dati dentro gli array, puoi farlo direttamente con il risultato della query
    Codice PHP:
    while($row mysql_fetch_assoc($query))
    {
        echo 
    "<option value='".$row['id']."'>".$row['nomi']." ".$row['cognomi']."</option>";


  3. #3
    Hai ragione.
    Ho adottato il secondo metodo...ma ho un'altra domanda.
    Come posso mettere l'attributo "selected" al giocatore che ho salvato in una variabile?

    Io ho $capitano che è un "id" della tabella GIOCATORI quindi se ho
    10 Mario Rossi
    23 Giuseppe Picchi
    45 Alberto Bianchi

    E $capitano = 23,come posso scrivere affinchè Giuseppe Picchi sia l'opzione con "selected"?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Codice PHP:
    while($row mysql_fetch_assoc($query))
    {
        if(
    $row['id'] == $capitano)
            
    $selected "selected";
        else
            
    $selected "";
        echo 
    "<option value='".$row['id']."' ".$selected.">".$row['nomi']." ".$row['cognomi']."</option>";


  5. #5
    Grazie per l'aiuto

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.