Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    46

    Popolare array con alcuni valori di una tabella

    Ho una tabella con 3 colonne: id, nome e materia. Voglio riempire un array con tutti gli id e i nomi delle righe che hanno come materia un certo valore, poi voglio printare tutti i nomi inseriti nell'array e inserire, affianco a ogni riga, un pulsante che se premuto restituisce il nome scelto e il relativo id.
    Inizialmente mi son limitato a riempire l'array e a printare il tutto, ma sul video del terminale non mi risulta niente. Questo è il codice:
    Codice PHP:
    $query "SELECT id, nome from tabella where materia='matematica'"
    $dbResult mysql_query($query$db); 
    $AffectedRows mysql_affected_rows($db);  
    print 
    "<table border=\"1\">\n";  
    for (
    $index=0$index<$AffectedRows$index++) 

       if(
    $index==0
      {
        print 
    "<tr>\n"
        foreach (
    $row as $k => $v
       { 
         
    $myfield=mysql_fetch_field($dbResult,$k); 
         print (
    "<td>[b]" $myfield->name "[/b]</td>"); 
       } 
       print 
    "</tr>\n"
      } 
       foreach (
    $row as $k => $v
        { 
          print (
    "<td>$v"); 
          if (
    $k==0
          { 
          print 
    "
    "
    ;  
          } 
        print (
    "</td>"); 
      } 
     print 
    "</tr>\n"
     } 
       print 
    "</table>\n"
       
    mysql_free_result($dbResult); 
     
    mysql_close($db); 

  2. #2
    copio dal manuale di php.net e adatto

    Codice PHP:
    <?php
    //dividi il codice per recuperare i dati dal template
    $result msql_query("SELECT id, nome, materia from tabella where materia='matematica'"$con);
    if (!
    $result) {
        die(
    'Query execution problem: ' msql_error());
    }

    $tuoArray = array();

    while (
    $row msql_fetch_array($resultMSQL_ASSOC)) {
        
    $tuoArray[] = $row;
    }
    ?>

    //e poi nel template
    <table border="1">
    <?php foreach($tuoArray as $riga): ?>
    <tr>
    <td><?php echo $riga['id']?></td>
    <td><?php echo $riga['nome']?></td>
    <td><?php echo $riga['materia']?></td>
    </tr>
    <?php endforeach; ?>
    </table>
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    46
    Grazie! Però ora ho provato a fare la seconda parte del mio progetto e cioè inserire, affianco a ogni riga, un pulsante che se premuto restituisce l'id del nome scelto. Come ho fatto io, però, mi restituisce sempre l'id dell'ultima riga e non quello della riga giusta. Cosa sto sbagliando?
    Codice PHP:
    echo "<table border=\"1\">"
    foreach(
    $tuoArray as $riga): 
    echo 
    "<tr> 
    <td>
    $riga[nome]</td> 
    <td><form action=\"seleziona.php\" method=\"post\"> 
    <input type=\"hidden\" name=\"id\" value=\"
    $riga[pid]\"/>  
    <input type=\"submit\" value=\"seleziona\"></td> 
    </tr>"

    endforeach; 
    echo 
    "</table>"

  4. #4
    Non ti piace separare codice php da quello html, eh?

    se chiami tutti i campi nascosti nello stesso modo, sovrascrivi il valore man mano che procedi nel ciclo. Usa le chiavi dell'array per rendere il nome unico.

    Te li rifaccio pulito, poi fa te

    Codice PHP:
    <table border="1">
    <?php foreach($tuoArray as $key => $riga): ?>
    <tr> 
    <td><?php echo $riga['nome']; ?></td> 
    <td><input type="hidden" name="id_<?php echo $key?>" value="<?php echo $riga['pid']; ?>"/>  

    </tr> 
    <?php endforeach; ?>
    </table>
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    46
    Purtroppo di javascript non so nulla...

  6. #6
    mmm non è un compito di scuola, vero?

    qualcosa del genere?

    Codice PHP:
    <table border="1">
    <?php foreach($tuoArray as $key => $riga): ?>
    <tr> 
    <td><?php echo $riga['nome']; ?></td> 
    <td><input type="hidden" id="id_<?php echo $key?>" name="id_<?php echo $key?>" value="<?php echo $riga['pid']; ?>"/>
    <input type="button" value="clicca" onclick="alert(getElementById('id_<?php echo $key?>').value);"/>
    </td>
    </tr> 
    <?php endforeach; ?>
    </table>
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    46
    Non è un compito di scuola, sto imparando il php da autodidatta (e in futuro penso che imparerò anche javascript)
    Il tuo codice funge alla perfezione, l'unico problema è che dovrebbe restituire l'id al file seleziona.php (perciò nel mio script avevo inserito una form action)

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.