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

    [HELP][PHP]Listing dati da db mysql ed eliminazione rows

    Ciao a tutti,
    avrei bisogno di un aiutino con uno script che sto cercando di sviluppare. Da pochissimo ho cominciato ad imparare il php e il MySQL per ragioni di sviluppo, e non essendo un esperto di programmazione a nessun livello mi trovo ora in difficolta'. La script che dovrei realizzare ha le seguenti proprieta':
    1. Legge i dati da un DB MySQL e li mette riga per riga in una nuova tabella. Questa tabella inoltre ha una colonna con checkbox aventi come value l'id delle righe prese dal database. Fin qui' ci sono arrivato senza problemi.
    2. Quello che mi servirebbe e' che selezionando vari checkbox (secondo gli'id forniti a priori) le rispettive righe vengano eliminate dal database.

    Codice PHP:
    <?php include ("config.php");  mysql_connect("$mysql_host""$mysql_user""$mysql_password")or die("cannot connect");
    mysql_select_db("$mysql_database")or die("cannot select DB");

    $query "SELECT id, title, text from `ippo_news`"
    $result mysql_query($query) or die (mysql_error());  

    echo 
    "<form method=\"POST\" action=\"\"><table>";

    while(
    $row mysql_fetch_array($resultMYSQL_ASSOC)) {
         echo 
    "<tr><td><input type=\"checkbox\" name=\"checked\" value=\"{$row['id']}\"/></td>" .
              
    "<td>{$row['id']}</td>" .
              
    "<td>{$row['title']}</td>" .
              
    "<td>{$row['text']}</td></tr>"
    }
    echo 
    "</table>" "<input type=\"hidden\" name=\"sent\" value=\"1\"/><td>";
    echo 
    "</table>
    "<input type=\"submit\" name=\"Send\" value=\"process\" />

    "
    ;
     
    if (
    $_POST['Send'] == "process")
    {
    $id = array($_POST['checked']);
    foreach (
    $id as $nome=>$value) {
        echo 
    "
    $value";
    }
    }
    ?>
    Come potete vedere dal codice qui sopra, ora sto solo cercando di vedere se funziona il ciclo foreach in modo tale che mi vengano stampati i valori ID dei checkbox selezionati. Temo che la mia sintassi sia sbagliata dato che se seleziono 2 o 3 checkbox, solo quella con ID piu' alto viene selezionata e stampata dal ciclo foreach. Credo che l'errore sia nella creazione dell'array. Qualcuno sa aiutarmi?
    Grazie in anticipo,
    Beavey

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Non sono sicurissimo, però prova a scrivere così quando stampi il form
    Codice PHP:
     echo "<tr><td><input type=\"checkbox\" name=\"checked[]\" value=\"{$row['id']}\"/></td>" 
    In pratica ho aggiunto dopo "checked" le due parentesi quadre "[]"

    EDIT: ho trovato quello che prima non trovavo
    Leggi questa pillola, ti può aiutare a risolvere il problema: paragrafo "Recupero di array tramite form."
    click

  3. #3
    Sei un genio!! Funziona, grazie

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.