Visualizzazione dei risultati da 1 a 7 su 7

Discussione: passaggio di variabili

  1. #1
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    passaggio di variabili

    ciao a tutti ho questa tabella che stampa tutti i record di un db,per ogni record è associata lo script cancella record e modifica.
    lo script modifica deve recuperare in un form tutti i valori del db .
    qui il codice php:
    codice:
    <html>
    <head>
    <style type="text/css">
    .icone {
        border:none;
     }
     </style>   
    </head>
    <body>
    <?php
    
      $host = 'localhost';
      $user = 'root';
      $password='';//stringa vuota
      $database = 'provephp';
      $db = mysql_connect($host,$user,$password) or die("non si connette al server");// mi connetto al server
      mysql_select_db($database, $db) or die("non si connette al database");// mi connetto al database
      $query = 'SELECT * FROM libri';// query SQL
      $risultato = mysql_query($query,$db);//eseguo la query
      $affectedrows = mysql_affected_rows($db);//verifico quanti record sono interessati alla query
       print("<table border =\"1\" >\n");
      for($index = 0;$index < $affectedrows; $index++)
      {
         $row = mysql_fetch_row($risultato);
         if($index == 0)
         {
            print("<tr>\n");
            foreach($row as $k => $v)
            {
               $myfield = mysql_fetch_field($risultato,$k);
               print(" <td>".$myfield ->name ."</td>");
            }
            print "</tr>\n";
         }    
         foreach($row as $k => $v)
        {
        
          print("<td>$v");
          if($k == 0)
          {
          
          
              print "
    ";
              print "<a href=\"cancellalibri.php? nrecord=$v\">[img]iconaelimina.gif[/img]</a>";
             
              print "
    ";
              print "<a href=\"modificalibri.php? nrecord=$v\">[img]iconamodifica.gif[/img]</a>";
             
               
          }
          print("</td>");
          }
          print "</tr>\n";
    }
     print("</table>");
     mysql_close($db);                                                                                                    ?>
    
    </body>
    </html>
    il problema sta qui :
    print "<a href=\"modificalibri.php? nrecord=$v\">[img]iconamodifica.gif[/img]</a>";

    nel senso che la form recupera solo questo valore e lo visualizza:nrecord=$v
    in che modo posso recuperare tutti i record?
    devo utilizzare un array associativo per definire $row,e quindi inserire nel link che richiama lo script di modifica i valori in questo modo?
    print "<a href=\"modificalibri.php? nrecord=['nrecord'];titolo=['titolo'];argomento['argomento']\">[img]iconamodifica.gif[/img]</a>";

  2. #2
    Inserisci dei checkbox con name="id[]"
    Poi inserisci un pulsante "elimina" che fa il submit della form.
    Nello script di destinazione esegui un ciclo per ogni elemento di $_POST['id'] ed esegui il DELETE (oppure crea una sola query di DELETE più complessa).

  3. #3
    io difrei che basta pasare nell'href l'ID di ogni record; poi nelle apposite pagine recuperi conm una SELECT il record con l'ID passto e lo carichi per modificarlo o lo cancelli.

  4. #4
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    grazie a entrambi ma..

    @emulman:
    intendi una cosa di questo tipo in cui nel href inserisco il nome del campo e il valore a cui è associata la chiave?
    print "<a href=\"modificalibri.php? nrecord=['nrecord'];titolo=['titolo'];argomento['argomento']\">[img]iconamodifica.gif[/img]</a>";

  5. #5
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649
    ho scritto un'assurdità anche a livello concettuale?

  6. #6
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649
    print "<a href=\"modificalibri.php? nrecord=$v&titolo=$v\">[img]iconamodifica.gif[/img]</a>";

    ...se scrivo una cosa del genere non mi stampa il nome del titolo ma mi stampa zero.

  7. #7
    ciao moomba, scusa se non mi son fatto sentire ieri sera ma avevo terribilmente da fare..cmq ecco qua la pagina rivista e corretta:

    Codice PHP:
    <html>
    <head>
    <style type="text/css">
      .icone { border:none; }
     </style>   
    </head>
    <body>
    <?php
      $host 
    'localhost';
      
    $user 'root';
      
    $password='';//stringa vuota
      
    $database 'provephp';
      
    $db mysql_connect($host,$user,$password) or die("non si connette al server");// mi connetto al server
      
    mysql_select_db($database$db) or die("non si connette al database");// mi connetto al database
      
    $query 'SELECT * FROM libri';// query SQL
      
    $risultato mysql_query($query,$db);//eseguo la query
      
    $numRows mysql_num_rows($risultato);//verifico quanti record restituisce la query
       
    print("<table border =\"1\" >\n");
       while (
    $row mysql_fetch_row($risultato)) {
          echo 
    "<tr>\n";
          for (
    $x=1$x<=count(mysql_num_fields($risultato)); $x++;) {
             echo 
    "<td>[b]".mysql_field_name($risultato$x-1)."[/b]</td>";
             echo 
    "<td><a href=\"cancellalibri.php?id_rec=".$row[0]."\">[img]iconaelimina.gif[/img]</a>";
             echo 
    "<a href=\"cancellalibri.php?id_rec=".$row[0]."\">[img]iconaelimina.gif[/img]</a>";
          }
          echo 
    "</tr>\n";
       }
       echo 
    "</table>";
       
    mysql_close($db);                                                                                                    ?>
    </body>
    </html>
    come vedi nel ciclo while uso la funzione mysql_field_name per recuperare il nome del campo e per il link vedi che passo alla pagina un parametro id_rec uguale al pirmo campo del record, che di solito rappresenta la chiave primaria o ID di quel record; poi nella pagina chiamata basta fare una query tipo

    "DELETE FROM LIBRI WHERE ID = ".$_REQUEST['id_rec']

    per cancellare quel record

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.